我只想使用 NHibernate QueryOver 语法更新包含 N 列的表中的 N-1 列。
我试过的查询是这样的。
public T UpdatePost(Object DateUpdated, object DateExpires, object Id)
{
using (var session=sessionFactory.OpenSession())
{
using (var transaction=session.BeginTransaction())
{
session.Update(DateUpdated, Id);
session.Update(DateExpires, Id);
transaction.Commit();
return session.Get<T>(Id);
}
}
}
调用方法是
obj.UpdatePost(DateTime.Now, DateTime.Now.AddDays(30), 3);
错误是
你的映射有问题。您可能正在尝试将 System.ValueType 映射到 NHibernate 不允许的,或者您错误地使用了映射到 . ValueType (System.DateTime) 不能与 IdentityKey 一起使用。
如何做到这一点?