NHibernate - كيفية حفظ الكائن مع حيث شرط
-
19-08-2019 - |
سؤال
وأنا لا أعرف كيفية حفظ الكائن مع جملة WHERE. أنا في حاجة إليها لمنع توفير الكائن مع مجموعة من التواريخ المتداخلة على الآخرين.
public class TaskEvent
{
public DateTime StartDate {get;set;}
public DateTime EndDate {get;set;}
}
وأريد أن تحقق overlaping في المعايير في عملية إنقاذ لكني لا أعرف كيف.
وأي أفكار؟
المحلول
ويمكنك استخدام HQL للاستعلامات التحديث المخصص
session.CreateQuery("UPDATE TaskEvent SET ... WHERE ID = :ID and ...")
.SetInt32("ID", ID)
//.SetDateTime("", )
//.SetDateTime("", )
.ExecuteUpdate();
وأو القيام به في أكثر لطفا NHibernate من الطريق ... جلب TaskEvents المطلوبة (حيث شرط)، وتحديث ممتلكاتهم، وتنفيذ المعاملة.
نصائح أخرى
وتحتاج إلى معرفة في التعليمات البرمجية التي تعترض تحتاج إلى إنقاذ، ثم حفظ تلك. هذا هو منطق الأعمال، وينبغي ألا تكون دفعت إلى عمليات المثابرة. IMO، حتى لو NH يمكن أن تدعم ذلك.
ونهج واحد سيكون لretermine التي تعترض TaskEvent كنت لا تريد حفظ في رمز وطردهم من ISession بحيث لن يستمر.
لا تنتمي إلى StackOverflow