۱۳۹۰/۱۱/۳۰

ارتقاء به NHibernate 3.2


شروع به كار با NH به دو قسمت تقسيم مي‌شود. يك قسمت نگاشت كلا‌س‌ها است و قسمت دوم سشن گرداني آن. قسمت دوم آن به همان مباحث كلاس‌هاي singleton ايي كه بحث آن‌ها در سايت هست بر مي‌گردد. يا حتي استفاده از كتابخانه‌هاي IOC براي مديريت آن (كه اين پياده سازي را به صورت توكار هم دارند).
قسمت نگاشت كلاس‌ها در NH انواع و اقسامي دارد:
  • ابتدا همان فايل‌هاي XML مدل Hibernate جاوا بود.
  • بعد شد مدل annotation ايي به نام Castle ActiveRecord. (اين پروژه آنچنان فعال نيست و علتش به اين بر مي‌گردد كه نويسنده اصلي جذب مايكروسافت شده)
  • سپس Fluent NHibernate پديد آمد. (اين پروژه هم پس از NH 3.2 ، سرد شده و به نظر آنچنان فعال نيست)
  • الان هم مدل جديدي به صورت توكار و بدون نياز به كتابخانه‌هاي جانبي از NH 3.2 به بعد به آن اضافه شده به نام mapping-by-code .
بنابراين روش مرجح از NH 3,2 به بعد، همين روش mapping-by-code توكار آن است. خصوصا اينكه نياز به وابستگي خارجي ندارد. براي مثال به دليل عدم فعال بودن پروژه‌هايي كه نام برده شد، مثلا NH 3,3 امروز ارائه مي‌شود، شايد دو ماه بعد، اين كتابخانه‌هاي جانبي ساده سازي نگاشت‌ها، به روز شوند يا نشوند.

و ... خبر خوب اينكه شخصي در 18 قسمت به توضيح اين قابليت جديد mapping by code پرداخته و روش‌هاي نگاشت مرتبط رو با مثال توضيح داده كه در آدرس زير مي‌تونيد اون‌ها رو پيدا كنيد: