سؤال

هل من الممكن إضافة خصائص إلى نموذجي الذي لا توجد في قاعدة البيانات؟

على سبيل المثال، لدي جدول تقويم، أريد أن أتقابل هذه البيانات في وحدة تحكم MVC الخاصة بي، ثم تمكنت من ترك الوقت المتبقي حتى يبدأ كل إدخال وإرجاع هذا إلى العرض. لذلك أود ممتلكات أخرى في نموذج التقويم الخاص بي لعقد الوقت المتبقي وهو قيمة يمكنني توليدها خارج قاعدة البيانات.

لقد حاولت إضافة العقار فقط، لكن عندما أفعل ذلك أحصل على أخطاء لأن العقار لا يتم تعيينه إلى أي شيء.

هل هذا ممكن؟

شكرا

هل كانت مفيدة؟

المحلول

يجب أن تكون قادرا على إضافة الخاصية إلى النموذج ولكنك لن تتمكن من الاستعلام عن LinQ. سيتم بناء Linq في نهاية المطاف والتعبير الذي سترغب في تشغيله مقابل قاعدة البيانات باستخدام SQL. في هذه المرحلة أن LinQ الخاص بك ستفشل في العثور على رسم خرائط من الممتلكات الخاصة بك إلى حقل في مكان ما.

إذا قام الاستعلام بإرجاع IEnaryerable من النوع الفعلي الذي قمت بإنشائه، فقد تكون عرض خاصية الوصول إلى ذلك. لا أستطيع أن أتذكر ما إذا كان EF يصر على رسم الخرائط في هذه الحالة، قد يفعل ذلك.

قد تجد أنه يمكنك إنشاء استعلام LinQ اللاحق الذي يستخدم LinQ-To-Objects إذا كنت ترغب في توفير نوع مركب آخر لعرضك.

نصائح أخرى

إنها ملكية غير مستمرة أو عابرة. لا أعرف كيان FramWork جيدا ولكن مع بحث سريع جوجل يجب أن تجد الإجابة.

BTW يمكنك أن تجد الكثير من النصائح هنا:http://weblogs.asp.net/zeeshanhirani/archive/2008/12/18/my-christmas-present-to-the-entity-framework-community.aspx.

بعد إجراء بحث سريع بنفسي واختبار في VS2008 لا أرى طريقة لاستبعاد خاصية من التعيين. ربما يتطلب منك تحرير ملف التعيين يدويا؟ :(

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top