我不知道如何用where子句保存對象。我需要它來防止保存日期範圍與其他日期重疊的對象。NHibernate的 - 如何保存對象與where子句
public class TaskEvent
{
public DateTime StartDate {get;set;}
public DateTime EndDate {get;set;}
}
我想檢查保存操作中的標準疊加,但我不知道如何。
任何想法?
我不知道如何用where子句保存對象。我需要它來防止保存日期範圍與其他日期重疊的對象。NHibernate的 - 如何保存對象與where子句
public class TaskEvent
{
public DateTime StartDate {get;set;}
public DateTime EndDate {get;set;}
}
我想檢查保存操作中的標準疊加,但我不知道如何。
任何想法?
您可以使用HQL即席更新查詢
session.CreateQuery("UPDATE TaskEvent SET ... WHERE ID = :ID and ...")
.SetInt32("ID", ID)
//.SetDateTime("",)
//.SetDateTime("",)
.ExecuteUpdate();
或更NHibernate的一種方式做...獲取所需TaskEvents(where子句),更新它們的屬性,並提交事務。
您需要在代碼中找出哪些對象需要保存,然後保存這些對象。這是業務邏輯,不應該推入持久性操作。國際海事組織,即使NH可以支持。
一種方法是確定哪些TaskEvent對象不希望保存在代碼中,並將它們從ISession中驅逐出去,以便它們不會被保留。
咦?這裏沒有太多的信息可以繼續。請提供更完整的代碼示例。 – yfeldblum 2008-12-07 08:49:09
我需要這樣的東西:UPDATE TaskEvent SET ... WHERE ID = @ID {如何在這裏添加一些條件} – dariol 2008-12-07 15:37:05