nHibernate更新不适用于现有实体

JNM*_*JNM 2 nhibernate entity

我正在尝试用nHibernate更新记录.我尝试了几种解决方案,但它们都没有工作(没有显示错误,bu数据也没有更新).
第一个代码:

MyRepository rep = new MyRepository(GetCurrentSession());
UserPost post = rep.GetById(id);
post.ValidTo = date;
rep.Update(post);
Run Code Online (Sandbox Code Playgroud)

第二个代码:

ISession session = GetCurrentSession();
MyRepository rep = new MyRepository(GetCurrentSession());
UserPost post = rep.GetById(id);
post.ValidTo = date;
rep.Update(post);
session.Update(post);
session.Transaction.Commit();
session = null;
Run Code Online (Sandbox Code Playgroud)

也许有人提出建议?

Sam*_*l G 5

1)如果您没有使用交易,则需要刷新会话:

var post = _session.Load<Post>(id); //assumes this record exists in the db
post.SomeAttribute=somenewvalue;
_session.SaveOrUpdate(post);
_session.Flush;
Run Code Online (Sandbox Code Playgroud)

2)我没有看到交易正在启动?您需要启动要提交的事务.

using(var transaction = _session.BeginTransaction()){
   _session.SaveOrUpdate(post);
   transaction.commit();
}
Run Code Online (Sandbox Code Playgroud)