c# - Entity framework not saving record to join table -


मेरी इकाई मॉडल इसका डीबी पहले दृष्टिकोण।

  सार्वजनिक आंशिक वर्ग प्रदाता {सार्वजनिक प्रदाता ()। यह। प्रदाता साउबटेटोग्राफीऑन = नया हैशसेट & lt; ProviderSubCatetogryOne & gt; (); } सार्वजनिक इन्ट आईडी {प्राप्त; सेट; } सार्वजनिक स्ट्रिंग नाम {get; सेट; } सार्वजनिक आभासी आइकलिंग & lt; ProviderSubCatetogryOne & gt; प्रदाता सबकैटोग्रीऑन {प्राप्त करें; सेट; }} सार्वजनिक आंशिक कक्षा SubCategoryOne {सार्वजनिक SubCategoryOne () {} सार्वजनिक int आईडी {get; सेट; } सार्वजनिक स्ट्रिंग नाम {get; सेट; }} सार्वजनिक आंशिक कक्षा प्रदाता SubcatetogryOne {सार्वजनिक इन्ट आईडी (get; सेट; } सार्वजनिक प्रदाता प्रदाता आईडी {प्राप्त करें; सेट; } सार्वजनिक int SubCategoryOneId {get; सेट; } सार्वजनिक वर्चुअल प्रदाता प्रदाता {get; सेट; } सार्वजनिक आभासी उप-श्रेणी एक उप-श्रेणीऑन {प्राप्त; सेट; }}   

मेरे पास प्रदाता और श्रेणियां हैं I मुझे कुछ श्रेणियों का चयन करके अपने प्रदाता को अपडेट करना होगा।

मैं निम्नानुसार ऐसा करने का प्रयास कर रहा हूं।

  var प्रदाता = GetProvider (); // एक प्रदाता ऑब्जेक्ट देता है प्रदाता। शबैंसऑन। जोड़ें (नया प्रदाता SubcategoryOne () {उप-श्रेणीऑनआईड आईआईडी = बाल कैरेक्टआइडी // मौजूदा श्रेणी आईडी।});   

लेकिन जब मैं प्रदाता को सहेजने की कोशिश करता हूं, तो मेरी सहभागिता तालिका किसी रिकॉर्ड के साथ नहीं आ रही है।

निम्नलिखित कोड को मैं सहेजने के लिए उपयोग कर रहा हूं। <पूर्व> सार्वजनिक वर्चुअल शून्य अद्यतन (TDomainModel आइटम) {_logger.Info ("अपडेट में।"); यदि (आइटम == रिक्त) नए तर्क को हटा दें ("आइटम"); कोशिश {var entity = ToDataEntity (आइटम); DbEntityEntry dbEntityEntry = संदर्भ। प्रवेश (इकाई); कोशिश करें (यदि (dbEntityEntry.State == EntityState.Detached) {Context.Set & lt; TEntityModel & gt; ()। अटैच (एंटिटी); DbEntityEntry.State = EntityState.Modified; }} पकड़ (अमान्यऑपरेशन एक्सपेशेशन पूर्व) {_logger.Error (ex); _logger.Info ("वर्तमान एंटिटी के मान सेट करके अद्यतन करने की कोशिश कर रहा है"); अगर (आइटम के रूप में IUniqueId! = नल) {_logger.Warn ("मॉडल एक IUniqueId वस्तु है। SetValues ​​का उपयोग करके अद्यतन करने की कोशिश कर रहा है।"); टेंटीटी मॉडेल पुरानी ईन्तिटी = वर्तमान डीबीसेट। खोजें (आईयूआईआईआईआईडी के रूप में आइटम)। आईडी); Context.Entry (oldEntity) .CurrentValues.SetValues ​​(इकाई); }} पकड़ (अपवाद पूर्व) {_logger.Error (ex); } _savedRecord = इकाई; } पकड़ (अपवाद पूर्व) {_logger.Error (ex); }} सार्वजनिक शून्य सहेजें () {try {_context.SaveChanges ()} } पकड़ (DbEntityValidationException ex) {_logger.Error (ex.Message); विदेशी मुद्रा (डीबीईटीटीवैलिटीकरण संबंधी सत्यापन, पूर्व। एंटिटी वालिडेटेशन एरीटर्स में परिणाम) {forebeach (DbValidationError सत्यापन सत्यापन में त्रुटि Realtor.ValidationErrors) {_logger.Error (validationError.PropertyName + ":" + validationError.ErrorMessage); }}} पकड़ (अपवाद पूर्व) {_logger.Error (ex); }}

कोई भी सुझाव?

निम्नलिखित को जोड़ने का प्रयास करें: <प्री> प्रदाता। सेव चैंज ();

अगर मैं सही ढंग से याद रखता हूं कि मॉडल में परिवर्तन सहेजता है, तो भी, मैंने डेटाबेस को पहले अप्रोच का इस्तेमाल किया है, इसलिए यह काम हो सकता है या नहीं।

Comments

Popular posts from this blog

ios - Adding an SKSpriteNode to SKScene from a child SKSpriteNode -

Matlab transpose a table vector -

c# - Textbox not clickable but editable -