我正在尝试用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)
也许有人提出建议?
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)
| 归档时间: |
|
| 查看次数: |
6728 次 |
| 最近记录: |