1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

تعیین نوع fetch در Search APIهای NHibernate

شروع موضوع توسط minaaa ‏19/11/11 در انجمن برنامه نویسی

  1. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,773
    تشکر شده:
    6,457
    امتیاز دستاورد:
    113
    [h=1][/h]
    [​IMG]
    برای آن که NHibernate بتواند به طور بهینه از Caching استفاده نماید باید Fetch در Entityها و Queryها به طور مناسبی تعریف شده باشد. Fetch به طور کلی به NHibernate می‌گوید sql دریافت اطلاعات از دیتابیس را چطور تولید کند. یک select کلی از همه جداول با استفاده از outer joinهای متعدد یا selectهای جداگانه به ازای هر جدول. مزیت عمده select جداگانه وقتی است که آن اطلاعات از قبل در Cache موجود باشند.


    Fetch در Queryهای دیتابیسی NHibernate و APIهای مختلف جستجوی آن روش‌های متفاوتی دارد:


    • در HQL با استفاده join fetch انجام می‌شود.
    • در Linq-to-NH با استفاده از Expand و Fetch انجام می‌شود.
    • در QueryOver با Fetch انجام می‌شود (مشابه linq-to-nh).
    • در ICriteria با SetFetchMode انجام می‌شود.
    به نقل از بلاگ Afsharm