我試圖通過存儲過程中的nhibernate的CreateSQLQuery從數據庫檢索數據。像下面的代碼。NHibernate CreateSQLQuery對待實體更新
然後我基本上在做一個會話事務提交,但是提交會拋出一個「無法更新」異常。它試圖在CustomEntityDao上執行更新語句。
const string selectSQL = "EXEC GetDataSP @Id = :Id";
var query = Session.CreateSQLQuery(selectSQL);
query.SetString("Id", "10");
query.AddEntity(typeof (CustomEntityDao));
var entityList = query.List<CustomEntityDao>();
try
{
Session.Transaction.Commit();
}
catch (Exception ex)
{
throw ex;
}
我的問題是,爲什麼這些實體被視爲修改,你可以在代碼中看到我只是做一個查詢。
您應該發佈有問題的映射和實體 - 通常這是映射不匹配的標誌。 – AlexCuse 2012-04-12 20:59:33