Linq إلى كيانات تشمل
-
06-07-2019 - |
سؤال
أنا حاليا التعلم أكثر قليلا عن Linq إلى كيانات خاصة في هذه اللحظة عن حريصة تحميل كسول.
proxy.User.Include("Role").First(u => u.UserId == userId)
هذا هو المفترض أن الحمل المستخدم ، جنبا إلى جنب مع أي أدوار المستخدم.لدي مشكلة ، ولكن لدي أيضا سؤال.هذا فقط نموذج بسيط خلق لمعرفة المزيد عن L2E
كنت تحت انطباع أن هذا تم تصميمه لجعل الأمور بقوة النوع - لماذا يجب علي أن أكتب "دور"?يبدو أنني إذا غيرت اسم الجدول ثم هذا لن إنشاء خطأ في التجميع...
خطأ بلدي هو هذا:
The specified type member 'Roles' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported.
الحل أدناه تسمح لي الآن أن كتابة التعليمات البرمجية:
proxy.User.Include(u => u.Role).First(u => u.UserId == userId)
وهو أجمل بكثير!
المحلول
- وتشمل هو تلميح حريصة تحميل, فإنه لا يجبر حريصة التحميل.
- دائما التحقق من IsLoaded العقار قبل الرجوع شيء كنت آمل كانت حريصة تحميلها من قبل تشمل.
- هناك طرق لوضع بقوة كتبته الكائن في تضمين البيان ، ولكن لا يوجد حل لهذه المشكلة في الخروج من مربع مع إطار الكيان.شيء مثل جوجل:إطار الكيان ObjectQueryExtension تشمل
لا تنتمي إلى StackOverflow