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);
エラーは
マッピングに問題があります。おそらく、NHibernateが許可していないにSystem.ValueTypeをマップしようとしているか、にマップされているIDictionaryを誤って使用しています。ValueType(System.DateTime)はIdentityKeyでは使用できません。
これを達成する方法は?