दिलचस्प पोस्ट
फ्रिज कॉल में स्विफ्ट में पैरामीटर नाम की आवश्यकता क्यों है? निष्पादक.न्यूकैचड थ्रेडपूल () बनाम निष्पादक। एनवेफिक्सट्रेडपूल () ग्रहण: विशिष्ट पैकेज को छोड़ दें, जब किसी वर्ग के नाम को स्वत: पूर्ण करना MySQLi में अपवादों की क्वेरी त्रुटियों को चालू करना अनिर्धारित चर और जावा में सदस्य प्रिंटर जानकारी कैसे प्राप्त करें .नेट? स्ट्रिंग में दो स्ट्रिंग्स के बीच स्ट्रिंग प्राप्त करें मैं XPath के साथ सीएसएस वर्ग के द्वारा एक तत्व कैसे प्राप्त करूं? Reactjs html में कनवर्ट करें क्या यह एक HTML टूलटिप (शीर्षक विशेषता) को प्रारूपित करना संभव है? बाधाओं को सक्षम करने में विफल एक या अधिक पंक्तियों में गैर-अशक्त, अनूठे, या विदेशी-प्रमुख बाधाओं का उल्लंघन करने वाले मान शामिल हैं एक चुनिंदा बॉक्स से आइटम निकालना जावा में एंड एंड एंड के बीच का अंतर? सीएमवाइके से आरजीबी में सही ढंग से कैसे परिवर्तित करें? HTML तालिका पर वास्तविक समय खोज और फ़िल्टर कैसे करें

मानचित्रण करते समय मूल्य परिवर्तित करें

मैं ईएफ कोड का उपयोग कर रहा हूँ- पहले एक मौजूदा डेटाबेस पद्धति और मेरे डाटाबेस में एक IsActive फ़ील्ड है। समस्या यह है कि क्षेत्र VARCHAR जब यह एक boolean होना चाहिए। मैं डाटाबेस स्कीमा को बदल नहीं सकता

डेटाबेस में उदाहरण मान "वाई" (सच) या "एन" (गलत) हैं

मानचित्रण करते समय, मैं उन मानों को सच्चा / झूठे में परिवर्तित करना चाहता हूं और बुलियन मान के साथ मेरी इकाई वर्ग को रखना चाहता हूं।

क्या यह संभव है?

मेरी इकाई और मैपिंग कक्षाएं निम्न हैं, लेकिन मैं एक बूलियन बनने के लिए IsActive फ़ील्ड को बदलना चाहूंगा।

 public class Employee { public int ID { get; set; } public string SSN { get; set; } public string Email { get; set; } public string IsActive { get; set; } } public class EmployeeMap : EntityTypeConfiguration<Employee> { public EmployeeMap() { this.ToTable("Employees"); this.HasKey(t => t.ID); this.Property(t => t.ID).HasColumnName("ID_Employee"); this.Property(t => t.SSN).HasColumnName("sReference"); this.Property(t => t.Email).HasColumnName("Email"); this.Property(t => t.IsActive).HasColumnName("IsActive"); } } 

संपादित करें: मुझे इसके अलावा कोई अन्य समाधान नहीं मिला: https://stackoverflow.com/a/6709186/1053611

वेब के समाधान से एकत्रित समाधान "मानचित्रण करते समय मूल्य परिवर्तित करें"

जैसा कि अन्य ने बताया है कि आपको दो संपत्तियों की आवश्यकता है, लेकिन आपको यह पता करने में रुचि हो सकती है कि आप निजी संपत्तियों में से एक बना सकते हैं और फिर भी इसे डेटाबेस में मैप कर सकते हैं:

  private string isActive { get; set; } [System.ComponentModel.DataAnnotations.Schema.NotMapped] public bool IsActive { get { return isActive == "Y"; } set { isActive = value ? "Y" : "N"; } } 

यदि आप OnModelCreating का उपयोग कर रहे हैं तो आप निजी संपत्ति को मैप करने के लिए OnModelCreating विधि में एक कस्टम सम्मेलन का उपयोग कर सकते हैं

 modelBuilder.Types().Configure(c => { //NB the syntax used here will do this for all entities with a //private isActive property var properties = c.ClrType.GetProperties(BindingFlags.NonPublic | BindingFlags.Instance) .Where(p => p.Name == "isActive"); foreach (var p in properties) c.Property(p).HasColumnName("IsActive"); }); 

संदर्भ:

कस्टम सम्मेलनों का उपयोग कर निजी गुणों का मानचित्रण करना

कस्टम सम्मेलनों के बिना निजी गुणों का मानचित्रण (EF6 से पहले)

संपादित करें:

यहां निजी संपत्तियों की पहचान करने का एक और तरीका है जिसे डेटाबेस में मैप किया जाना चाहिए:

पहले निजी संपत्ति के लिए कॉलम विशेषता जोड़ें:

 [System.ComponentModel.DataAnnotations.Schema.Column] private string isActive { get; set; } 

फिर उस विशेषता की मौजूदगी का उपयोग करके अपने OnModelCreating विधि में निजी संपत्तियों की पहचान करें:

 modelBuilder.Types().Configure(c => { var properties = c.ClrType .GetProperties(BindingFlags.NonPublic | BindingFlags.Instance) .Where(propInfo => propInfo.GetCustomAttributes(typeof(ColumnAttribute), true).Length > 0); foreach (var p in properties) c.Property(p).HasColumnName(p.Name); }); 

संदर्भ: इकाई ढांचे के साथ एक निजी संपत्ति के मानचित्रण