یکی از راههای توصیه شده برای افزایش Performance در Queryهای دیتابیس، پرهیز از استفادههای بیمورد از select * from some_table میباشد. راه حل توصیه شده استفاده از projection و برگرداندن صرفاً ستونهای مورد نیاز از دیتابیس است. مثلاً باید از select col1, col2 from some_table استفاده شود. در همین راستا LINQ-to-NHibernate هم پشتیبانی خوبی از …
Castle ActiveRecord یک کتابخانه مفید برای استفاده از NHibernate است. این کتابخانه هم کار mapping را مشابه Fluent NHibernate ساده میکند و هم کار مدیریت session و خیلی کارهای دیگر را خودش مدیریت میکند. به طوری که استفاده از NHibernate بسیار سادهتر شود. Castle ActiveRecord در واقع پیادهسازی Design Patternی به همین نام یعنی Active …
Second level cache is different than first level cache. It acts on session factory level not each individual session. In order to setup second level cache in a Castle ActiveRecord application consider following points: 1. Settings of second level cache in Castle ActiveRecord is basically as same as NHibernate. 2. In addition of web.config/app.config settings, …
بعضی پیغام خطاها آنقدر سمج هستند و آن قدر منبع نامعلومی دارند که میتوان به آنها لقب لعنتی، کشنده یا حتی دهن صاف کن داد. به تازگی یکی از این پیغام خطاهای کشنده برای من اتفاق افتاد. زمانی که در حال فعالسازی Caching سطح دوم برای یک برنامهی مبتنی بر Castle ActiveRecord بودم دچار خطای …
While I was trying to use first level cache in a Castle ActiveRecord based application I found some points that like to share: 1. First level cache is alive within a single session (NHibernate’s ISession) only. 2. First level cache is enabled by default and can not be disabled. 3. If you don’t use SessionScope …
برای فراخوانی رکوردها از دیتابیس (بر اساس primary key) به حافظه دو راه در NHibernate وجود دارد. یکی Get و دیگری Load. متود Get برای دستیابی به رکورد مربوطه مستقیماً به cache یا database مراجعه میکند در حالی که متود Load تا زمانی که کسی propertyی غیر از id را فراخوانی نکرده به دیتابیس مراجعه …
وقتی که صفحات سایت شما کند هستند مجبور هستید راهی را برای یافتن علت آن پیدا کنید. من چند نکتهی مفید در این رابطه پیدا کردهام. این نکات بدون توجه به تعاریف دقیق فنی عبارتند از: ۱- یکی از دقیقترین ابزارها برای اندازهگیری سرعت صفحات ASP.NET استفاده از Performance Monitor در ویندوز ۲۰۰۸ است. با …
به این if توجه کنید: //code…if (something != null){Do1();Do2();}//code… در اینجا null نبودن بررسی شده و بر اساس آن یک سری عملیات انجام میشود. اما دقت کنید که اگر مقدار مورد نظر null باشد هیچ مکانیزمی برای اعلام خطا وجود ندارد و به سادگی هر چه تمامتر آن بخش از کد بی هیچ سر و …
گاهی اوقات لازم است که آدم به عقب برگشته و بعضی مفاهیم که قبلاً بلد بوده را دوباره مرور کند. یک سری از این مفاهیم که همیشه مورد نیاز هستند مربوط هستند به مفاهیم دیتابیس. فهرست زیر تعدادی از آنها را شامل میشود. integrity – جامعیتصحت دادهها، مثلاً موجودی حساب بانکی منفی نباشد Domain Integrity …
یکی از بزرگترین مشکلات موجود بر سر راه هر فناوری یا ابزاری کمبود منابع یادگیری علیالخصوص کتاب در مورد آن است. خوشبختانه این محدودیتها رفته رفته در مورد NHibernate رفع گردیده و علاوه بر وبلاگها و انجمنهای پرسش و پاسخ، چند کتاب و منبع مفید هم در مورد آن منتشر شده. در ادامه مروری داریم …