إطار الكيان: تعيين كيان إلى ملكية كيان آخر
سؤال
لدي هذه الكيانات (هذا مجرد تجريد قمت بإنشائه لهذا المنصب):
- لغة
- يصرف
- وصف
هذه هي المراجع بينها:
- يصرف * - 1 لغة
- وصف * - 1 لغة
- يصرف 1 - 1 وصف
إذا جلبت مثل هذا:
var myFetch = from c in context.Districts
where c.Id = 10
select new { DistrictId = c.Id, Lang = c.Language };
وبعد ذلك، أحاول تعيينه وصف مثله:
Description desc = Description.CreateDescription(0, "My description");
desc.DistrictReference.EntityKey = new EntityKey("MyEntities.Descriptions", "DistrictId", myFetch.DistrictId);
desc.Language = myFetch.Lang; //throws error
الخطأ الذي ألقيته هو:
system.invalidoperationException: لا يمكن تعريف العلاقة لأن اسم اسم Entityset 'Limitation.Descriptions' غير صالح بالنسبة للدور "الحي" في جمعية مجموعة الأسماء "Limentites.district_Description".
ما الخطأ الذي افعله؟
المحلول
لو myFetch
كان ليكون مثالين للفئة District
يمكنك القيام بذلك برمجيا:
desc.DistrictReference.EntityKey = new EntityKey(
String.Format(
"{0}.{1}",
myFetch.EntityKey.EntityContainerName,
myFetch.EntityKey.EntitySetName),
"DistrictId",
myFetch.DistrictId);
نصائح أخرى
فقط ما تقول الرسالة: حددت اسم مجموعة الكيان الخاطئ.
- افتح edmx الخاص بك.
- افتح نافذة متصفح النموذج.
- ابحث عن كيان المقاطعة في متصفح النموذج
- انقر بزر الماوس الأيمن فوقها، اختر "خصائص"
- لاحظ اسم مجموعة الكيان الصحيح
لا تنتمي إلى StackOverflow