أفضل الممارسات للانضمام nhibernate ، ASP.NET عضوية/دور/ملف الخدمات
-
05-07-2019 - |
سؤال
لدي عامة ASP.NET (MVC) تطبيق يستخدم NHibernate كنموذج استمرار طبقة ، ASP.NET عضوية/دور/ملف الخدمات مثل إدارة المستخدم طبقة.
السؤال هو ما يمكن اعتباره أفضل الممارسات لإنشاء linkings بين المجال بيانات المستخدمين.(على سبيل المثال أريد إنشاء منتدى نظام أريد أن ربط كل مواضيع/مشاركات مستخدم محدد, و ترغب في عرض المستخدم في كل طلب).
هذه هي posiibilites كنت أفكر:
تخزين معرف المستخدم في NHibernate (مثل وجود Guid عمود في كل المجال الطبقات (وظائف المواضيع.... الخ) الذي يحتاج إلى مرجع مستخدم) و استخدام GetUser في كل مرة تحتاج اسم المستخدم من guid (التي قد تؤدي إلى n+1 الاستفسارات)
ب البديل:بدلا من تخزين اسم المستخدم أيضا.
- استخدام نفس قاعدة البيانات و إنشاء للقراءة فقط NHibernate maintaned المجال كائن المستخدم ، خرائط نفس البيانات مثل M/R/P الخدمات.
- ننسى M/R/P وخلق منفصلة المستخدم ادارة الخدمة على أساس NHibernate
- ننسى كل استخدام J2EE/RoR/merb/جانغو/الخ.(من فضلك لا اختيار هذا الخيار :) )
- أخرى...
المحلول
وأود أن تذهب خطوة 2 (تقريبا ، كما أنه لا يحتاج بالضرورة أن يكون للقراءة فقط) و إنشاء مخصص عضوية مزود NHibernate.
لتوفير الوقت يمكنك استخدام قائمة واحدة تحب واحد من مانويل Abadia.
مع أن تحافظ على الطاقة الكاملة NHibernate (تحميل كسول, الخ.) والتمتع M/R/P الخدمات أيضا.
نصائح أخرى
وهناك أيضا NHibernate على أساس عضوية مقدم على CodePlex
4 شباب من رولا ممتاز آخر إذا كنت ترغب استخداما الخاص مقدم على رأس asp.net عضوية API : http://www.4guysfromrolla.com/articles/110310-1.aspx