NHibernate التحديث على خاصية واحدة بتحديث كافة الخصائص في مزود

StackOverflow https://stackoverflow.com/questions/813240

  •  03-07-2019
  •  | 
  •  

سؤال

وانا أداء التحديث القياسية في NHibernate إلى خاصية واحدة. ولكن على ارتكاب المعاملة التحديث SQL يبدو أن تعيين كافة المجالات لقد المعينة على الطاولة على الرغم من أنها لم تتغير. من المؤكد أن هذا لا يمكن أن يكون السلوك العادي في Nhibernate؟ أفعل شيئا خاطئا؟ بفضل

using (var session = sessionFactory.OpenSession())
           {
               using (var transaction = session.BeginTransaction())
               {
                   var singleMeeting = session.Load<Meeting>(10193);
                   singleMeeting.Subject = "This is a test 2";

                   transaction.Commit();
               }
           }
هل كانت مفيدة؟

المحلول

وهذا هو السلوك العادي. يمكنك محاولة إضافة dynamic-update="true" إلى تعريف الفئة لتجاوز هذا السلوك.

نصائح أخرى

وحسنا. نعم هذا هو السلوك العادي للNHibernate. يمكنك استخدام السمة المتولدة عن الممتلكات الخاصة بك لتغيير السلوك. التفاصيل حول Ayende في بلوق .

لماذا هذا التقصير هو أنه مع ديناميات كنت لا أحصل على خطة الاستعلام مؤقتا. وعادة ما كنت لا تمانع في أن ترسل بضعة بايت عبر اتصال شبكة عالية السرعة بين خادم التطبيق وقاعدة البيانات. إلا إذا كنت توفير سلاسل طويلة حيث يكون هذا الإعداد المناسب تماما.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top