दिलचस्प पोस्ट
DataContractSerializer WCF 4.0 के साथ इकाई फ़्रेमवर्क 4.0 का उपयोग करते हुए त्रुटि जावास्क्रिप्ट फंक्शन को निष्पादित कैसे करें जब मेरे पास स्ट्रिंग के रूप में इसका नाम होता है डेवलपर को डीबी के लिए सीधे कनेक्शन की बजाय वेब सेवाओं का उपयोग क्यों करना चाहिए? मैं PHP में एक निर्देशिका और इसकी संपूर्ण सामग्री (फाइल + उप-डायरों) को लगातार कैसे हटाऊं? जांच कैसे करें कि कक्षा कहीं मौजूद है या नहीं? सी # इंटरफेस स्पष्ट कार्यान्वयन बनाम स्पष्ट कार्यान्वयन निरंतर विफलता के साथ चर की बैच फ़ाइल तुलना अपरिभाषित व्यवहार और बीमार बनने के बीच का अंतर, कोई नैदानिक ​​संदेश आवश्यक नहीं है एंड्रॉइड एप्लिकेशन में बुलेटेड सूची कैसे जोड़ें? क्या डेवलपर पहले पठनीयता या प्रदर्शन का लक्ष्य रखता है? क्या एएसपी.नेट एमवीसी में सत्र राज्य का इस्तेमाल करने से बचने के लिए एक अच्छा अभ्यास है? यदि हां, क्यों और कैसे? रूबी: आवश्यकता होती है vs_relative – रूबी <1.9.2 और> = 1.9.2 दोनों में चलने के लिए सबसे अच्छा अभ्यास गतिशील रूप से JavaScript का उपयोग करके शैली-वेबकिट-ट्रांसफॉर्म को सेट कैसे करें? जावास्क्रिप्ट का उपयोग कर आरएसएस फ़ीड को कैसे पार्स करना है? WAMP पर IMAGEMAGICK स्थापित करने के लिए चरण-दर-चरण निर्देश?

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

मैं ईएफ कोड का उपयोग कर रहा हूँ- पहले एक मौजूदा डेटाबेस पद्धति और मेरे डाटाबेस में एक 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

Solutions Collecting From Web of "मानचित्रण करते समय मूल्य परिवर्तित करें"

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

  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); }); 

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