تحديد علاقات N:1 في Entity Framework Core 1 باستخدام Fluent API
في Entity Framework Core 1 (أو EF7)، تم تغيير الطريقة التي يتم بها تحديد العلاقات بين الكيانات. يتطلب EF Core 1 تقنيات مختلفة عن EF6، ولكن يمكن تحديد علاقات الـ N:1 بشكل مشابه باستخدام الـ Fluent API.
لتحقيق العلاقة النمطية N:1 بين الكيانين File
و Message
، يمكنك استخدام Fluent API كما يلي:
-
عرض صور أفقيا في PHP12/04/2024
-
فروق بين Apache و Apache Tomcat08/03/2024
csharpmodelBuilder.Entity()
.HasOne(e => e.Message) // يشير إلى الكيان الفرعي
.WithMany() // يشير إلى الكيان الرئيسي
.HasForeignKey(e => e.Message_Id);
هذا الكود يحدد العلاقة بين File
و Message
بحيث يكون لدى File
علاقة فرعية مع Message
، ويتم ربطهما باستخدام الخاصية Message_Id
كمفتاح خارجي. يمكنك استخدام هذا الكود في DbContext خاص بتطبيقك لتكوين علاقة الكيانات.
يرجى مراعاة أنه تم التغييرات في واجهة برمجة التطبيق Entity Framework Core عبر الإصدارات، لذلك قد تحتاج إلى التحقق من الوثائق الرسمية للإصدار الخاص بك لضمان أن الكود يتوافق مع الإصدار الذي تستخدمه.
المزيد من المعلومات
في Entity Framework Core 1، تم إدخال تغييرات كبيرة في الهيكل وواجهة برمجة التطبيق مقارنة بالإصدارات السابقة. هنا بعض المزيد من المعلومات حول بعض التغييرات الرئيسية وكيف يمكن استخدام Fluent API لتحديد العلاقات:
-
الإصدار الجديد للعلاقات:
في EF Core 1، تم تبسيط نموذج العلاقات إلى مفهومين رئيسيين: الكيان الرئيسي (Principal Entity) والكيان الفرعي (Dependent Entity). الكيان الرئيسي هو الكيان الذي يحتوي على الكي الخاص به، في حين يكون الكيان الفرعي هو الكيان الذي يحتوي على مفتاح خارجي يشير إلى الكيان الرئيسي. -
الـ Fluent API للعلاقات:
يتم استخدام الـ Fluent API لتحديد العلاقات بين الكيانات في EF Core 1. في المثال السابق، تم استخدامHasOne
وWithMany
لتحديد علاقة N:1 بينFile
وMessage
. يشيرHasOne
إلى العلاقة من جانب الكيان الفرعي، بينما يشيرWithMany
إلى العلاقة من جانب الكيان الرئيسي. -
استخدام
HasForeignKey
:
يتم استخدامHasForeignKey
لتحديد الخاصية التي يتم فيها تخزين المفتاح الخارجي. في المثال، يشيرHasForeignKey(e => e.Message_Id)
إلى أن الخاصيةMessage_Id
في كيانFile
هي التي يتم فيها تخزين المفتاح الخارجي الخاص بالعلاقة. -
التحقق من الوثائق:
يُفضل دائمًا التحقق من وثائق Entity Framework Core الرسمية للإصدار الذي تستخدمه للحصول على معلومات أكثر دقة حول كيفية تحديد العلاقات وأي تغييرات قد تكون قد تمت في الإصدار الخاص بك.
تأكد من تحديث الكود بناءً على إصدار Entity Framework Core الذي تستخدمه واستكشاف وثائق الإصدار للحصول على تفاصيل دقيقة حول كيفية تكوين العلاقات في الإصدار الخاص بك.