我正在尝试通过存储过程中的 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;
}
我的问题是为什么实体被视为已修改,正如您在代码中看到的那样,我只是在进行查询。