में पास करना EF SaveChanges विधि को ओवरराइड करके C# में कुछ व्यावसायिक तर्क करने का प्रयास कर रहा है।
विचार यह है कि इस क्षेत्र को अपडेट करने के लिए इस क्षेत्र में कुछ उन्नत गणनाएं होंगी। और यह क्षेत्र कुछ अन्य क्षेत्रों के उप-वर्ग से कम है, आप उन्नत व्यापार जंक जानते हैं।परीक्षण ईएफ सहेजें परिवर्तन Modifiers परीक्षण। DbPropertyValues
चूंकि यह वास्तव में जटिल है क्योंकि हम इसे भरने का परीक्षण करना चाहते हैं। परीक्षण महान काम जोड़ना लेकिन अद्यतन करने वाले हम के रूप में हम एक अंतरफलक जहां विचाराधीन विधि पारित हो जाता है हस्ताक्षर इस
void Update(object entity, DbPropertyValues currentValues, DbPropertyValues originalValues);
तरह लग रहा है जब पूर्ण एफई में यह बुला यह खूबसूरती से काम करता है
लिखा है परीक्षण करने के लिए नहीं कर पा रहेpublic override int SaveChanges()
{
var added = ChangeTracker.Entries().Where(p => p.State == EntityState.Added).Select(p => p.Entity);
var updated = ChangeTracker.Entries().Where(p => p.State == EntityState.Modified).Select(p => p);
var context = new ChangeAndValidationContext();
foreach (var item in added)
{
var strategy = context.SelectStrategy(item);
strategy.Add(item);
}
foreach (var item in updated)
{
var strategy = context.SelectStrategy(item);
strategy.Update(item.Entity, item.CurrentValues, item.OriginalValues);
}
return base.SaveChanges();
}
हम यह नहीं समझ सकते कि डीबीप्रोपर्टी वैल्यूज को मूल या हमारे परीक्षणों के लिए अपडेट किया गया है। कृपया उस विधि का परीक्षण करने के तरीके को जानने में हमारी सहायता करें।