नोट: यदि आप आसान एक आकर्षण के रूप में एफई 4.1 या 4.2 जो इस काम में आता है करने के लिए उन्नयन कर सकते हैं:
context.Entry(myEntity).State = EntityState.Unchanged;
कृपया विस्तार के लिए this को देखें। ऊपर
Public ReadOnly Property DirtyObjects() As IEnumerable(Of ObjectStateEntry)
Get
Return ObjectStateManager.GetObjectStateEntries(
EntityState.Added Or
EntityState.Deleted Or
EntityState.Modified)
End Get
End Property
Public Overloads Sub Refresh()
For Each entry In DirtyObjects
Select Case entry.State
Case EntityState.Modified
Dim original = entry.OriginalValues
For Each prop In entry.GetModifiedProperties()
Dim ordinal = original.GetOrdinal(prop)
entry.CurrentValues.SetValue(ordinal, original(ordinal))
RaisePropertyChanged(entry.Entity, prop)
Next
entry.AcceptChanges()
Case EntityState.Deleted
'I think I would need to call the above again, cuz it might be
'changed values on a Deleted-state entry too.
entry.ChangeState(EntityState.Unchanged)
Case EntityState.Added
entry.ChangeState(EntityState.Detached)
Case Else
'do nothing
Debug.Fail("It's not supposed to stop here.")
End Select
Next
End Sub
प्रमुखों: - (आसानी से सी # करने के लिए लिखित जाना चाहिए वीबी, खेद)
अपने ObjectContext
उत्पन्न वर्ग के लिए एक आंशिक वर्ग बनाएँ, और उस में निम्न विधियों में शामिल हैं! नए आने वाले संस्करण में यह सुविधा बहुत आसान हो गई है।
हाँ मुझे बहुत देर हो गई .. लेकिन समस्या यह है कि यदि आप ऑब्जेक्ट संदर्भ का निपटान करते हैं और डेटाबेस से कनेक्ट करने का प्रयास करते हैं, तो प्रदर्शन बहुत खराब होता है। तो हमने ऑब्जेक्ट संदर्भ को जीवित रखने का फैसला किया। एक विफलता के मामले में हम एक रास्ता खोजने के लिए प्रयास कर सकते हैं। – Bhuvan
@ भुवन - "प्रदर्शन खराब है" दावा आमतौर पर इसका मतलब है कि आप डेटा से अधिक पूछताछ कर रहे हैं। मैंने ** बहुत सारे काम किए हैं जहां डेटा-संदर्भ बहुत कसकर स्कॉप्ड किया गया है, और यह पूरी तरह से प्रदर्शन करने वाला है। –