Skip to content

Commit 04b140a

Browse files
committed
Test case for session.Update
1 parent 137090f commit 04b140a

File tree

2 files changed

+44
-2
lines changed

2 files changed

+44
-2
lines changed

src/NHibernate.Test/OneToOneType/Fixture.cs

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,5 +57,47 @@ public void OneToOnePersistedOnOwnerUpdate()
5757
Assert.NotNull(owner.Details);
5858
}
5959
}
60+
61+
[Test]
62+
public void OneToOnePersistedOnOwnerUpdateForSessionUpdate()
63+
{
64+
Owner owner;
65+
66+
using (var s = Sfi.OpenSession())
67+
using (var tx = s.BeginTransaction())
68+
{
69+
owner = new Owner()
70+
{
71+
Name = "Owner",
72+
};
73+
74+
s.Save(owner);
75+
tx.Commit();
76+
}
77+
78+
using (var s = Sfi.OpenSession())
79+
{
80+
owner = s.Get<Owner>(owner.Id);
81+
}
82+
83+
using (var s = Sfi.OpenSession())
84+
using (var tx = s.BeginTransaction())
85+
{
86+
s.SaveOrUpdate(owner);
87+
owner.Details = new Details()
88+
{
89+
Data = "Owner Details"
90+
};
91+
92+
tx.Commit();
93+
}
94+
95+
using (var s = Sfi.OpenSession())
96+
{
97+
owner = s.Get<Owner>(owner.Id);
98+
99+
Assert.IsNotNull(owner.Details);
100+
}
101+
}
60102
}
61103
}

src/NHibernate.Test/OneToOneType/Mappings.hbm.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
<?xml version="1.0" encoding="utf-8" ?>
22
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="NHibernate.Test" namespace="NHibernate.Test.OneToOneType" default-lazy="false">
3-
<class name="Owner">
3+
<class name="Owner" select-before-update="true">
44
<id name="Id" unsaved-value="0" generator="native"/>
55
<property name="Name"/>
6-
<one-to-one name="Details" class="Details" cascade="all"/>
6+
<one-to-one name="Details" class="Details" cascade="all-delete-orphan"/>
77
</class>
88

99
<class name="Details">

0 commit comments

Comments
 (0)