Просто объявите свою собственность как байт [], как упомянул Ладислав.
public class Product
{
public int Id { get; private set; }
public string Name { get; set; }
public byte[] ProductImage { get; set; }
}
Вот и все.Если вы не сопоставляете свойство, соглашение заключается в varbinary(max)
.Если у вас уже есть столбец изображения в базе данных, просто добавьте [Column(TypeName = "image")]
в свойстве ProductImage или если вы предпочитаете отображение кода, добавьте его в переопределение OnModelCreating в классе контекста:
modelBuilder.Entity<Product>().Property(p => p.ProductImage).HasColumnType("image");
Проблема, с которой я столкнулсяДело в том, что я не нашел способ сделать свойство ленивым, поскольку я не обязательно хочу загружать двоичные данные каждый раз, когда я получаю продукт.Я не уверен, что помню правильно, но NHibernate может сделать это из коробки.