Simplemente declare su propiedad como byte [] como lo mencionó Ladislav.
public class Product
{
public int Id { get; private set; }
public string Name { get; set; }
public byte[] ProductImage { get; set; }
}
Eso es básicamente todo. Si no asigna la propiedad, la convención es que se asigna a varbinary(max)
. Si ya tiene una columna de imagen en la base de datos, simplemente agregue [Column(TypeName = "image")]
la propiedad ProductImage o si prefiere la asignación de código, agregue esto a su anulación de OnModelCreating en la clase de contexto:
modelBuilder.Entity<Product>().Property(p => p.ProductImage).HasColumnType("image");
El problema que tengo es que no he encontrado una forma de hacer que la propiedad sea perezosa, ya que no necesariamente quiero cargar datos binarios cada vez que obtengo un producto. No estoy seguro de recordarlo correctamente, pero NHibernate puede hacerlo de inmediato.