डेटाबेस ढांचे को डेटाबेस में नई ऑब्जेक्ट्स डालने पर स्मृति की अत्यधिक मात्रा का उपयोग करना प्रतीत होता है।इकाई फ्रेमवर्क मेमोरी उपयोग
for(int i = 0; i < numOwners; ++i)
{
var owner = Owner.CreateOwner();
db.AddToOwnerSet(owner);
for(int j = 0; j < numChildren; ++j)
{
var child = Child.CreateChild();
owner.Childs.Add(child);
}
}
db.SaveChanges();
इस बिंदु पर, इन वस्तुओं में बहुत कम डेटा तत्व होते हैं। डेटाबेस में 140,000 इन ऑब्जेक्ट्स को डालने पर, एप्लिकेशन का कुल मेमोरी उपयोग 600 एमबी था, और 1.2 गीगाबाइट 300,000 के लिए था। ये वस्तुएं छोटी हैं, केवल एक स्ट्रिंग नाम और एक पूर्णांक कुंजी है।
मैं लूप में SaveChanges कॉल डालकर मेमोरी उपयोग को कम कर सकता हूं, लेकिन फिर निष्पादन समय बहुत खराब हो जाता है, और यह पहले से ही बहुत खराब है।
कोई भी जानता है कि इकाई ढांचा इतनी मेमोरी का उपयोग क्यों कर रहा है, या इसे कम स्मृति का उपयोग करने के लिए कैसे प्राप्त किया जाए?