بعضی پیغام خطاها آنقدر سمج هستند و آن قدر منبع نامعلومی دارند که میتوان به آنها لقب لعنتی، کشنده یا حتی دهن صاف کن داد. به تازگی یکی از این پیغام خطاهای کشنده برای من اتفاق افتاد. زمانی که در حال فعالسازی 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 را فراخوانی نکرده به دیتابیس مراجعه …
یکی از بزرگترین مشکلات موجود بر سر راه هر فناوری یا ابزاری کمبود منابع یادگیری علیالخصوص کتاب در مورد آن است. خوشبختانه این محدودیتها رفته رفته در مورد NHibernate رفع گردیده و علاوه بر وبلاگها و انجمنهای پرسش و پاسخ، چند کتاب و منبع مفید هم در مورد آن منتشر شده. در ادامه مروری داریم …
Named SQL queries in NHibernate is a way that you can put a native SQL query in a .hbm.xml file and executed it via IQuery and GetNamedQuery. By working with this feature you may encounter some errors and exceptions. Here I have gathered some common problems that I have seen by myself. NHibernate.MappingException : unknown …
همیشه برای جلب توجه افراد به یک موضوع خاص، یک روز در سال به نام آن موضوع نام گذاری شده و در آن روز گردهمایی، کنفرانس، جشن یا… برگزار میشود. مثل روز جهانی دیابت، روز جهانی کودک، روز آزادی نرمافزار و… ظاهراً چنین روزی هم برای NHibernate در نظر گرفته و مراسم اولین دوره آن …
تصور کنید تعدادی کوئری SQL دارید که میخواهید Paging را با استفاده از NHibernate در آنها فعال کرده و بنا به دلایلی اجازه بازنویسی آنها با دیگر APIهای NHibernate نداشته و آنها را صرفاً باید از طریق ObjectDataSaource به کنترلهای ASP.NET بخورانید. سه راه برای انجام این کار وجود دارد. راه اول: استفاده از stored …
NHibernate یک ORM است که شما را ترغیب میکند برای دسترسی به دیتابیس از APIهای خاص خودش یعنی HQL، ICriteria و Linq-to-NHibernate استفاده کنید. اما راه را برای آنها که به هر دلیل ترجیح میدهند یا مجبورند از SQL استفاده کنند نبسته است. NHibernate دو راه برای انجام این کار دارد: استفاده از ISession.CreateSQLQuery و …
We have a typical web application that its data access layer is written using Castle ActiveRecord. Castle ActiveRecord exposes NHibernate’s SchemUpdate feature. This feature lets us to upgrade schema/database with current changes in domain entities. One odd problem with SchemaUpdate was that in many cases it was generating foreign keys again without any change in …
NHibernate has a feature named “Schema Update”. This feature help updating schema of existing database based on new changes in mapping files. Schema update do not change current data, just changes schema (table, view, … structure) in an additive manner. Castle ActiveRecord exposes this feature too. The problem is with NHibernate you have choice for …