۱۳۹۰/۰۲/۲۷

QueryOver Extensions


جهت تكميل مطلب قبل (+)، مي‌توان به ازاي تمام توابع SQL موجود و همچنين تمام حالت‌هاي اعمال محدوديت مانند مساوي، بزرگتر، كوچكتر و امثال آن، extension method نوشت. يا اينكه يك متد داشت كه بتوان پارامترهاي آن را تنظيم كرد. به همين جهت كتابخانه زير را تهيه كرده‌ام كه از آدرس زير قابل دريافت است:



نحوه استفاده:
ابتدا بايد به NH معرفي شود (يكبار در ابتداي كار برنامه):
RegistrExt.RegistrMyQueryOverExts();
سپس استفاده از آن به سادگي زير خواهد بود:
using QueryOverSqlFuncsExts;

var data = session.QueryOver<Account>()
.Where(x => x.Name.Evaluate(new SqlFunc().CharIndex("a", 1).IsEqualTo(2)))
.List();
مثال‌هاي بيشتر را در پوشه تست پروژه مي‌توانيد پيدا كنيد.