बस अपनी संपत्ति को बाइट के रूप में घोषित करें [] जैसा कि लदिस्लाव ने उल्लेख किया है।
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 इसे बॉक्स से बाहर कर सकता है।