NHibernate Insert 正在提交,但对象未保存在表中
Posted
技术标签:
【中文标题】NHibernate Insert 正在提交,但对象未保存在表中【英文标题】:NHibernate Insert is Committing but object is not persisted in table 【发布时间】:2009-01-19 03:41:35 【问题描述】:调试时一切看起来都很好。插入提交并且没有回滚,没有异常。我当然希望有人能对此有所帮助。
这是我的电话:
using (ITransaction transaction = _session.BeginTransaction())
_session.Save(calc);
transaction.Commit();
真正的简单映射:
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="SigCalculator"
namespace="SigCalculator.Domain">
<id name="ID">
<generator class="guid" />
</id>
<property name="Time" />
<property name="Equation" />
这是对象:
public class Calculation
public virtual Guid ID get; set;
public virtual DateTime Time get; set;
public virtual string Equation get; set;
【问题讨论】:
【参考方案1】:我是个笨蛋!确保将 PK 设置为... PK..
嘘..我需要休息一下:)
【讨论】:
呵呵,这样的错误我们都会遇到。【参考方案2】:如果你打电话会发生什么:
session.Flush();
在事务提交之前?您的应用程序的 FlushMode 设置为什么?
【讨论】:
【参考方案3】:我尝试了以下..没有任何改变。
public void AddCalc(计算计算) 使用 (ITransaction 事务 = _session.BeginTransaction())
_session.Save(calc);
_session.Flush();
transaction.Commit();
【讨论】:
以上是关于NHibernate Insert 正在提交,但对象未保存在表中的主要内容,如果未能解决你的问题,请参考以下文章
NHibernate 为新实体生成 INSERT 和 UPDATE