के लिए संलग्न करें मैं संलग्नक का उपयोग कर ईएफ 5.x का उपयोग कर तालिका के लिए एक अद्यतन करने का प्रयास कर रहा हूं। इस तालिका में अन्य फ़ील्ड हैं जो आवश्यक हैं लेकिन इसकी एक मौजूदा पंक्ति है। तो मैं बिना किसी fetch के अद्यतन करने की कोशिश कर रहा हूँ। उपयोगकर्ता आईडी तालिका के लिए प्राथमिक कुंजी है। मैं स्थिति को अद्यतन करने की कोशिश कर रहा हूं। लेकिन यह एक EntityValidationErrors को फेंकता है कहता है कि पासवर्ड आवश्यक है जो एक और आवश्यक फ़ील्ड है लेकिन प्राथमिक कुंजी नहीं है। चूंकि यह मौजूदा पंक्ति के लिए एक अद्यतन है, इसलिए आपको अद्यतन के लिए रिक्त फ़ील्ड प्रदान करने की आवश्यकता क्यों है?अद्यतन इकाई फ्रेमवर्क
var webUser = new WebUser() { UserId = webUserId, OnlineStatus = (sbyte)status };
using (var dbxupdate = new xEntities())
{
try
{
dbxupdate.WebUsers.Attach(webUser);
dbxupdate.Entry(webUser).State = EntityState.Modified;
dbxupdate.Entry(webUser).Property(x => x.OnlineStatus).IsModified = true;
dbxupdate.SaveChanges();
}
catch (DbEntityValidationException dbEx)
{
foreach (var validationErrors in dbEx.EntityValidationErrors)
{
foreach (var validationError in validationErrors.ValidationErrors)
{
Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
}
}
}
}
पहली पंक्ति पर आप एक नया 'वेब यूज़र' बना रहे हैं और डेटाबेस से किसी को नहीं ला रहे हैं। ब्रेकपॉइंट सेट करने का प्रयास करें और देखें कि 'वेब यूज़र का पासवर्ड' शून्य 'नहीं है या नहीं। – Yoav
मैं डेटा लाने के लिए नहीं चाहता था। चूंकि मैं एक अद्यतन करने जा रहा था और मेरे पास पहले से ही एक प्राथमिक कुंजी –