هل يجب أن يكون للكائنات المنطقية التجارية معرفة كائنات بيانات LINQ إلى SQL؟

StackOverflow https://stackoverflow.com/questions/810260

سؤال

لقد نظرت إلى العديد من الأسئلة المماثلة ، لكنني لم أر أي شيء يطبق علي مباشرة ، لذا سامحني إذا كان هذا مكررًا.

لفصل المخاوف ، أحاول بطريقة ما تعيين كائنات العمل الخاصة بي مع المنطق إلى كائنات بيانات LINQ إلى SQL في ملف .DBML (جديد إلى حد ما في هذا راجع للشغل). ما يبدو عليه هو أن كائنات عملي ستحتاج إلى معرفتها حول كائنات LINQ2SQL المقابلة. أنا أقرا هذه المقالة حول محاولة استخدام POCOS باستخدام ملف رسم خرائط XML ، ويبدو أن هذا مشابه لما أريد ، إلا أنه ليس لدي رسم خرائط واحد من الجداول إلى الفصول الدراسية بسبب العديد من العدد العلاقة التي كنت بحاجة لإنشاء جدول إضافي ل.

يمكنني تغليف الوصول إلى البيانات في منطق عملي جيدًا بحيث لا تحتاج الكود الذي يستخدم كائنات العمل الخاصة بي إلى معرفة أي شيء عن قاعدة البيانات التي تعتبر جيدة ، لكنها لا تزال طبقة العمل مقترنة بإحكام مع طبقة الوصول إلى البيانات على هذا النحو لم أتمكن من تبديل DAL دون تغيير كائنات طبقة العمل الخاصة بي أو إنشاء كائنات جديدة (تنفذ نفس الواجهات) لمقدمي البيانات المختلفين.

كيف يمكنني فك هذه الطبقات؟

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

المحلول

لست متأكدًا مما إذا كنت مرتبطًا بـ LINQ إلى SQL بطريقة أو بأخرى ، ولكن ما تحاول إنجازه هو الافتراضي إلى حد كبير في Nhibernate. أوصي بإلقاء نظرة على nhibernate لمعرفة ما إذا كان من الأسهل التبديل من محاربة LINQ إلى SQL.

لقد وجدت أن قتال الأداة هو دائمًا فكرة سيئة.

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