[HttpPost]
public ActionResult Edit(Movie movie)
{
if (ModelState.IsValid)
{
db.Entry(movie).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(movie);
}
यह क्रिया एक मूवी मॉडल प्राप्त करती है और इसे डेटाबेस में अद्यतन करती है।
लेकिन मैं यह नहीं समझ सकता कि कैसे।
movie
ऑब्जेक्ट डीबी से जुड़ा नहीं है, तो इकाई ढांचे को कैसे पता चलता है कि डीबी में कौन सी पंक्ति को अद्यतन किया जाना चाहिए?DBContext.Entry क्या करता है?
मुझे यकीन है कि प्रवेश विधि के साथ कुछ करने के लिए कुछ है, लेकिन मुझे वास्तव में यह नहीं पता कि यह विधि क्या करती है। मैंने पढ़ा है कि यह जानकारी साबित करता है लेकिन मुझे समझ में नहीं आ रहा है कि एक प्रविष्टि के State
को बदलकर यह DBContext
द्वारा संलग्न और ट्रैक किया जाता है।
लेकिन इसके लिए आपके पास [अटैच] है (http://msdn.microsoft.com/en-us/library/system.data.entity.dbset.attach (v = vs.103) .aspx) तरीका। –
समझ गया। धन्यवाद। :) –
तो यह विधि जानता है कि इकाई वर्ग के कौन से गुण कुंजी हैं और फिर आंतरिक रूप से इकाई को अपनी कुंजी (ओं) से प्राप्त करने के लिए एक खोज तैयार कर सकते हैं और इसे संलग्न कर सकते हैं। सही? यदि हां, तो यह कमाल है। –