"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > إطار الكيان 4: AddObject مقابل إرفاق: متى تستخدم كل طريقة؟

إطار الكيان 4: AddObject مقابل إرفاق: متى تستخدم كل طريقة؟

نشر في 2025-02-06
تصفح:755

Entity Framework 4: AddObject vs. Attach: When to Use Each Method?

إطار الكيان 4: الاختلافات والتطبيقات بين AddObject وإرفاق الأساليب

في إطار الكيان (EF) ، تتضمن إدارة الكيانات طريقتين: addObject و إرفاق . يتم استخدام addObject لإدراج كيانات جديدة في النظام ، بينما يتم استخدام إرفاق لمعالجة الكيانات الموجودة بالفعل في قاعدة البيانات.

addObject: يستخدم لإنشاء كيان جديد

]

كما هو مذكور في العنوان ، يتم استخدام addObject لإنشاء كيان جديد. تقوم هذه الطريقة بتعيين entitykey تم إنشاؤها وتعيين EntityState لإضافتها. عندما يتم استدعاء

إرفاق: يستخدم لتعديل كيان موجود ]

على النقيض من ذلك ، يتم استخدام

إرفاق لتعديل كيان موجود بالفعل في قاعدة البيانات. عند استخدام إرفاق ، لم يتم ضبط entityState على الإضافة. لا يزال دون تغيير ، مما يشير إلى عدم حدوث أي تعديل لأن الكيان متصل بالسياق. يتيح ذلك EF استخدام قيمة EntityKey عند الاتصال Savechanges لتحديد كيان وتحديثه أو حذفه حسب الحاجة.

سيناريوهات تطبيق طريقة إرفاق ] سيناريو عملي لـ

إرفاق هو تحديث كيان موجود دون استرداد صريح من قاعدة البيانات. على سبيل المثال ، إذا كان لديك كائن شخص NERRATIONPerson الموجود بالفعل في السياق ، فيمكنك تحديث خصائصه وإلحاقها بالسياق:

var ctx = new MyEntities();
var existingPerson = ctx.Persons.SingleOrDefault(p => p.Name == "Joe Bloggs");
existingPerson.Name = "Joe Briggs";
ctx.Persons.Attach(existingPerson);
ctx.SaveChanges();
باستخدام

إرفاق ، يمكنك تجنب تنفيذ استعلامات إضافية لاسترداد الحالة الحالية لكيان.

تلخيص

فهم الاختلاف بين

addObject و إرفاق ] ضروري للاستخدام الفعال لإطار الكيان. يتم استخدام AddObject للكيانات التي تم إنشاؤها حديثًا ، بينما يتم استخدام إرفاق للكيانات الموجودة ، مما يتيح لك تعديلها بكفاءة وكفاءة.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3