File tree 5 files changed +186
-0
lines changed 5 files changed +186
-0
lines changed Original file line number Diff line number Diff line change
1
+ using System ;
2
+ using NUnit . Framework ;
3
+ using SharpTestsEx ;
4
+
5
+ namespace NHibernate . Test . NHSpecificTest . NH3570
6
+ {
7
+ [ TestFixture ]
8
+ public class BiFixture : BugTestCase
9
+ {
10
+ private Guid id ;
11
+
12
+ [ Test ]
13
+ public void ShouldNotSaveRemoveChild ( )
14
+ {
15
+ var parent = new BiParent ( ) ;
16
+ parent . AddChild ( new BiChild ( ) ) ;
17
+ using ( var s = OpenSession ( ) )
18
+ {
19
+ using ( var tx = s . BeginTransaction ( ) )
20
+ {
21
+ id = ( Guid ) s . Save ( parent ) ;
22
+ parent . Children . Clear ( ) ;
23
+ parent . AddChild ( new BiChild ( ) ) ;
24
+ tx . Commit ( ) ;
25
+ }
26
+ }
27
+ using ( var s = OpenSession ( ) )
28
+ {
29
+ using ( s . BeginTransaction ( ) )
30
+ {
31
+ s . Get < BiParent > ( id ) . Children . Count . Should ( ) . Be . EqualTo ( 1 ) ;
32
+ s . CreateCriteria < BiChild > ( ) . List ( ) . Count . Should ( ) . Be . EqualTo ( 1 ) ;
33
+ }
34
+ }
35
+ }
36
+
37
+ protected override void OnTearDown ( )
38
+ {
39
+ using ( var s = OpenSession ( ) )
40
+ {
41
+ using ( var tx = s . BeginTransaction ( ) )
42
+ {
43
+ s . CreateQuery ( "delete from BiChild" ) . ExecuteUpdate ( ) ;
44
+ s . CreateQuery ( "delete from BiParent" ) . ExecuteUpdate ( ) ;
45
+ tx . Commit ( ) ;
46
+ }
47
+ }
48
+ }
49
+ }
50
+ }
Original file line number Diff line number Diff line change
1
+ <?xml version =" 1.0" encoding =" utf-8" ?>
2
+ <hibernate-mapping xmlns =" urn:nhibernate-mapping-2.2" assembly =" NHibernate.Test" namespace =" NHibernate.Test.NHSpecificTest.NH3570" >
3
+ <class name =" UniParent" >
4
+ <id name =" Id" >
5
+ <generator class =" guid.comb" />
6
+ </id >
7
+ <version name =" Version" />
8
+ <bag name =" Children" cascade =" all-delete-orphan" >
9
+ <key column =" parentId" />
10
+ <one-to-many class =" UniChild" />
11
+ </bag >
12
+ </class >
13
+ <class name =" UniChild" >
14
+ <id name =" Id" >
15
+ <generator class =" guid.comb" />
16
+ </id >
17
+ </class >
18
+
19
+ <class name =" BiParent" >
20
+ <id name =" Id" >
21
+ <generator class =" guid.comb" />
22
+ </id >
23
+ <version name =" Version" />
24
+ <bag name =" Children" cascade =" all-delete-orphan" inverse =" true" >
25
+ <key column =" parentId" />
26
+ <one-to-many class =" BiChild" />
27
+ </bag >
28
+ </class >
29
+ <class name =" BiChild" >
30
+ <id name =" Id" >
31
+ <generator class =" guid.comb" />
32
+ </id >
33
+ <many-to-one class =" BiParent" name =" Parent" column =" parentId" />
34
+ </class >
35
+ </hibernate-mapping >
36
+
Original file line number Diff line number Diff line change
1
+ using System ;
2
+ using System . Collections . Generic ;
3
+
4
+ namespace NHibernate . Test . NHSpecificTest . NH3570
5
+ {
6
+ public class UniParent
7
+ {
8
+ public UniParent ( )
9
+ {
10
+ Children = new List < UniChild > ( ) ;
11
+ }
12
+
13
+ public virtual Guid Id { get ; set ; }
14
+ public virtual IList < UniChild > Children { get ; set ; }
15
+ public virtual int Version { get ; set ; }
16
+ }
17
+
18
+ public class UniChild
19
+ {
20
+ public virtual Guid Id { get ; set ; }
21
+ }
22
+
23
+ public class BiParent
24
+ {
25
+ public BiParent ( )
26
+ {
27
+ Children = new List < BiChild > ( ) ;
28
+ }
29
+
30
+ public virtual Guid Id { get ; set ; }
31
+ public virtual IList < BiChild > Children { get ; set ; }
32
+ public virtual int Version { get ; set ; }
33
+
34
+ public virtual void AddChild ( BiChild child )
35
+ {
36
+ child . Parent = this ;
37
+ Children . Add ( child ) ;
38
+ }
39
+ }
40
+
41
+ public class BiChild
42
+ {
43
+ public virtual Guid Id { get ; set ; }
44
+ public virtual BiParent Parent { get ; set ; }
45
+ }
46
+ }
Original file line number Diff line number Diff line change
1
+ using System ;
2
+ using NUnit . Framework ;
3
+ using SharpTestsEx ;
4
+
5
+ namespace NHibernate . Test . NHSpecificTest . NH3570
6
+ {
7
+ [ TestFixture ]
8
+ public class UniFixture : BugTestCase
9
+ {
10
+ private Guid id ;
11
+
12
+ [ Test ]
13
+ public void ShouldNotSaveRemoveChild ( )
14
+ {
15
+ var parent = new UniParent ( ) ;
16
+ parent . Children . Add ( new UniChild ( ) ) ;
17
+ using ( var s = OpenSession ( ) )
18
+ {
19
+ using ( var tx = s . BeginTransaction ( ) )
20
+ {
21
+ id = ( Guid ) s . Save ( parent ) ;
22
+ parent . Children . Clear ( ) ;
23
+ parent . Children . Add ( new UniChild ( ) ) ;
24
+ tx . Commit ( ) ;
25
+ }
26
+ }
27
+ using ( var s = OpenSession ( ) )
28
+ {
29
+ using ( s . BeginTransaction ( ) )
30
+ {
31
+ s . Get < UniParent > ( id ) . Children . Count . Should ( ) . Be . EqualTo ( 1 ) ;
32
+ s . CreateCriteria < UniChild > ( ) . List ( ) . Count . Should ( ) . Be . EqualTo ( 1 ) ;
33
+ }
34
+ }
35
+ }
36
+
37
+ protected override void OnTearDown ( )
38
+ {
39
+ using ( var s = OpenSession ( ) )
40
+ {
41
+ using ( var tx = s . BeginTransaction ( ) )
42
+ {
43
+ s . CreateQuery ( "delete from UniChild" ) . ExecuteUpdate ( ) ;
44
+ s . CreateQuery ( "delete from UniParent" ) . ExecuteUpdate ( ) ;
45
+ tx . Commit ( ) ;
46
+ }
47
+ }
48
+ }
49
+ }
50
+ }
Original file line number Diff line number Diff line change 737
737
</Compile >
738
738
<Compile Include =" NHSpecificTest\NH3202\Domain.cs" />
739
739
<Compile Include =" NHSpecificTest\NH3202\Fixture.cs" />
740
+ <Compile Include =" NHSpecificTest\NH3570\BiFixture.cs" />
741
+ <Compile Include =" NHSpecificTest\NH3570\UniFixture.cs" />
742
+ <Compile Include =" NHSpecificTest\NH3570\Model.cs" />
740
743
<Compile Include =" NHSpecificTest\NH646\Domain.cs" />
741
744
<Compile Include =" NHSpecificTest\NH646\Fixture.cs" />
742
745
<Compile Include =" NHSpecificTest\Futures\LinqToFutureValueFixture.cs" />
2971
2974
<EmbeddedResource Include =" NHSpecificTest\NH1291AnonExample\Mappings.hbm.xml" />
2972
2975
</ItemGroup >
2973
2976
<ItemGroup >
2977
+ <EmbeddedResource Include =" NHSpecificTest\NH3570\Mappings.hbm.xml" />
2974
2978
<EmbeddedResource Include =" NHSpecificTest\NH2692\Mappings.hbm.xml" >
2975
2979
<SubType >Designer</SubType >
2976
2980
</EmbeddedResource >
You can’t perform that action at this time.
0 commit comments