0
我有這個問題..NHibernate的許多一對一
using (var transaction = Session.BeginTransaction())
{
var t = new Ticket();
t.Title = "TestTicket";
var ticketId = (Guid)Session.Save(t);
var pe = new ProcessExec();
pe.Ticket = t;
Session.Save(pe);
var ticket = Session.Get<Ticket>(ticketId);
transaction.Commit();
Assert.NotNull(ticket);
Assert.True(ticket.ProcessExecCollection.Count > 0);
}
現在的問題是這一點,斷言在
Assert.True(ticket.ProcessExec.Count> 0失敗)。
但如果我這樣做
Session.Refresh(票);
只是後transaction.Commit(),永恆的工作正常。 如何告訴NHibernate,當我創建新的ProcessExec並設置其票證時,自動更新票證?
我需要這個,因爲我在事務中創建和選擇了很多東西。
請幫忙。
<class name="Domain.Model.Sdwwf.ProcessExec" table="[PROCESS_EXEC]" schema="[SDWWF]" dynamic-update="true">
<id name="Id" column="ID" type="Guid">
<generator class="guid" />
</id>
<version name="Version" column="VERSION" />
<many-to-one name="Ticket" column="[TICKET_ID]" cascade="save-update, persist" />
<class name="Domain.Model.Sdwwf.Ticket" table="[TICKET]" schema="[SDWWF]" dynamic-update="true">
<id name="Id" column="ID" type="Guid">
<generator class="guid" />
</id>
<version name="Version" column="VERSION" />
<bag name="ProcessExec" inverse="true" cascade="all">
<key column="[TICKET_ID]" />
<one-to-many class="Softworks.SDW.Domain.Model.Sdwwf.ProcessExec" />
</bag>
<property name="Title" column="[TITLE]" />
</class>
什麼是ProcessExec類中票證屬性的NHibernate配置? – Osiris76 2011-05-20 13:53:20
添加了Ticket和ProcessExec的配置映射 – Luka 2011-05-20 14:15:13