‫۱۴ سال و ۷ ماه قبل، چهارشنبه ۴ فروردین ۱۳۸۹، ساعت ۲۲:۱۸
ضمنا یک مورد را هم اضافه کنم. این قسمت ValidationDefinitions و همچنین BuildIntegratedFluentlyConfiguredEngine بسیار مهم هستند و اگر فراموش شوند ممکن است مدتی وقت شما را برای عیب یابی تلف کنند.
‫۱۴ سال و ۷ ماه قبل، چهارشنبه ۴ فروردین ۱۳۸۹، ساعت ۲۲:۱۰
در هر حال به یک طریقی شما باید به این کتابخانه اعلام کنید که چه چیزی را اعتبار سنجی کند. درست است؟
یا از طریق ویژگی‌ها یا به صورت دستی.
اگر ویژگی‌ها را حذف کنید اعتبار سنجی رخ نخواهد داد چون اعلامی در این زمینه صورت نگرفته. در این حالت از روش دستی یکپارچه شده می‌توان استفاده کرد (همان حالت آخر).
‫۱۴ سال و ۷ ماه قبل، چهارشنبه ۴ فروردین ۱۳۸۹، ساعت ۲۰:۵۰
لطفا قسمت آخر را مطالعه بفرمائید (استفاده از قیودات تعریف شده و سیستم اعتبار سنجی به صورت یکپارچه با NHibernate). هم FHN است و هم با تزریقی که صورت گرفته یکپارچه شده و هم از ویژگی‌ها استفاده نشده.
‫۱۴ سال و ۷ ماه قبل، چهارشنبه ۴ فروردین ۱۳۸۹، ساعت ۱۶:۱۱
تفاوتی نمی‌کنه. همان AddMappingsFromAssembly و FluentMappings.AddFromAssembly از قسمت چهارم به بعد است. اساس کار آن هم reflection است. در این حالت چه این تعاریف در خود پروژه باشد یا در هر پروژه‌ی دیگری که ارجاعی از آن در برنامه وجود دارد، دسترسی به آن از طریق reflection است و نه parse مستقیم کلاس‌های cs یا vb شما.
‫۱۴ سال و ۷ ماه قبل، چهارشنبه ۴ فروردین ۱۳۸۹، ساعت ۱۴:۳۹
چرا. امکان استفاده از رویه ذخیره شده رو هم داره. من در موردش مطلب ننوشتم و گرنه برای پوشش کامل آن باید کتاب تهیه می‌شد.
‫۱۴ سال و ۱۲ ماه قبل، شنبه ۹ آبان ۱۳۸۸، ساعت ۱۸:۰۶
- اشکالی نداره که پاک شده. خودتون فایل رو ترنس لود کنید. یک اکانت کالکتور در رپید شیر درست کنید. بعد لاگین کنید. سپس به قسمت remote upload آن مراجعه کرده و لینک‌های زیر را بدهید تا برای شما بدون مشکل دانلود کند:
http://vahid.nasiri.googlepages.com/summerNH.txt

- ضمنا این بحث ارتباطی به قسمت دهم فوق ندارد...
‫۱۴ سال و ۱۲ ماه قبل، شنبه ۹ آبان ۱۳۸۸، ساعت ۱۶:۳۵
سلام،
خودتون هم می‌تونید اینکار را انجام بدید.
یک فایل در رپیدشیر آپلود کنید. سپس یک لینک به شما می‌دهد جهت ایجاد collectors account . این اکانت کالکتور را که ایجاد کردید، امکان remote upload هم دارد. (این نوع اکانت‌ها پولی نیست اما امکانات خوبی دارد و کار راه انداز است)
‫۱۳ سال و ۶ ماه قبل، جمعه ۲ اردیبهشت ۱۳۹۰، ساعت ۰۱:۱۵
پیاده سازی الگوی مخزن در مطلب بالا از دیدی که مطرح کردید ایراد دارد. چون به ازای هر موجودیت یک تراکنش لحاظ می‌کند.
روش صحیح پیاده سازی مورد نظر شما استفاده از الگوی unit of work است
این الگو یک سطح بالاتر از الگوی مخزن قرار می‌گیرد
اگر می‌خواهید با نحوه‌ی پیاده سازی آن آشنا شوید به این پروژه مراجعه کنید
http://efrepository.codeplex.com/
هر چند برای EF نوشته شده ولی از دیدگاه طراحی اینترفیس و روابط نهایی برای تمام ORM های دیگر هم صادق است و فرقی نمی‌کند
‫۱۳ سال و ۸ ماه قبل، چهارشنبه ۴ اسفند ۱۳۸۹، ساعت ۰۱:۳۳
برای اینکه از بحث دور نشیم، در NHibernate این الگوها قابل مشاهده است:
الگوی Facade که همان session و ISession معروف آن است و کار آن فراخوانی تعداد قابل ملاحظه‌ای زیر سیستم و مخفی کردن آن‌ها از دید کاربر نهایی است. به این صورت شما توانایی کار کردن با انواع بانک‌های اطلاعاتی را بدون درگیر شدن با جزئیات آن‌ها از طریق یک اینترفیس عمومی پیدا می‌کنید.
الگوی proxy که پایه و اساس lazy loading آن است.
الگوی object pool جهت مدیریت اتصالات آن به بانک اطلاعاتی
الگوی Interpreter جهت مدیریت کوئری‌های ویژه آن
و ...

الگوی Repository هم یک نوع نگارش سفارشی الگوی Facade است. در اینجا یک سیستم پیچیده (یک سطح بالاتر است از ISession که کارش مخفی کردن ساختار داخلی NHibernate است) یا همان ORM مورد نظر را دریافت کرده و یک اینترفیس ساده، قابل درک و عمومی را از آن را ارائه می‌دهد. هدف آن مخفی کردن ریز جزئیات روش کار با یک ORM خاص است. به همین جهت به آن Persistence Ignorance هم گفته می‌شود.
الگوی Repository یکی از الگوهای اصلی DDD یا Domain driven design است.