File tree Expand file tree Collapse file tree 5 files changed +165
-0
lines changed
src/NHibernate.Test/NHSpecificTest/NHNewBug Expand file tree Collapse file tree 5 files changed +165
-0
lines changed Original file line number Diff line number Diff line change 1+ using System ;
2+ using System . Collections . Generic ;
3+ using System . Linq ;
4+ using System . Text ;
5+ using System . Threading . Tasks ;
6+
7+ namespace NHibernate . Test . NHSpecificTest . NHNewBug
8+ {
9+ public class Child
10+ {
11+ private int id ;
12+ public virtual int Id
13+ {
14+ get { return id ; }
15+ set { id = value ; }
16+ }
17+ }
18+ }
Original file line number Diff line number Diff line change 1+ using System ;
2+ using System . Collections . Generic ;
3+ using System . Linq ;
4+ using System . Text ;
5+ using System . Threading . Tasks ;
6+ using NHibernate . UserTypes ;
7+
8+ namespace NHibernate . Test . NHSpecificTest . NHNewBug
9+ {
10+ public class ContainedChild
11+ {
12+ private int id ;
13+ public virtual int Id
14+ {
15+ get { return id ; }
16+ set { id = value ; }
17+ }
18+ private Child child ;
19+
20+ public ContainedChild ( )
21+ {
22+ }
23+
24+ public ContainedChild ( Child child )
25+ {
26+ this . child = child ;
27+ }
28+
29+ public virtual Child Child
30+ {
31+ get { return child ; }
32+ set { child = value ; }
33+ }
34+ }
35+ }
Original file line number Diff line number Diff line change 1+ using System ;
2+ using System . Collections . Generic ;
3+ using System . Linq ;
4+ using System . Text ;
5+ using System . Threading . Tasks ;
6+
7+ using NUnit . Framework ;
8+
9+ /* 项目“NHibernate.Test (net48)”的未合并的更改
10+ 在此之前:
11+ using NHibernate.Test.NHSpecificTest;
12+ 在此之后:
13+ using NHibernate.Test.NHSpecificTest;
14+ using NHibernate;
15+ using NHibernate.Test;
16+ using NHibernate.Test.MappingTest;
17+ using NHibernate.Test.NHSpecificTest.NHNewBug;
18+ */
19+ using NHibernate . Test . NHSpecificTest ;
20+
21+ namespace NHibernate . Test . NHSpecificTest . NHNewBug
22+ {
23+
24+
25+
26+
27+
28+
29+
30+ [ TestFixture ]
31+ internal class ManyToOneFixture : BugTestCase
32+ {
33+ [ Test ]
34+ public void AccessIdOfManyToOneInEmbeddable ( )
35+ {
36+ ISession s = OpenSession ( ) ;
37+ ITransaction t = s . BeginTransaction ( ) ;
38+ Parent p = new Parent ( ) ;
39+ p . ContainedChildren . Add ( new ContainedChild ( new Child ( ) ) ) ;
40+ s . Persist ( p ) ;
41+ t . Commit ( ) ;
42+ var list = s . CreateQuery ( "from Parent p join p.ContainedChildren c where c.Child.Id is not null" ) . List ( ) ;
43+ Assert . AreNotEqual ( 0 , list . Count ) ;
44+ s . Delete ( p ) ;
45+ t . Commit ( ) ;
46+ s . Close ( ) ;
47+ }
48+ }
49+ }
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"
3+ assembly =" NHibernate.Test"
4+ namespace =" NHibernate.Test.NHSpecificTest.NHNewBug" >
5+
6+ <class name =" Child" >
7+ <id name =" Id" >
8+ <generator class =" native" />
9+ </id >
10+ </class >
11+
12+ <class name =" ContainedChild" >
13+ <id name =" Id" >
14+ <generator class =" native" />
15+ </id >
16+ <many-to-one name =" Child" cascade =" all" not-null =" true" />
17+ </class >
18+
19+ <class name =" Parent" >
20+ <id name =" Id" >
21+ <generator class =" native" />
22+ </id >
23+ <many-to-one name =" ContainedChild" cascade =" all" />
24+ <set name =" ContainedChildren" inverse =" true" cascade =" all" >
25+ <key column =" Parent" />
26+ <one-to-many class =" ContainedChild" />
27+ </set >
28+ </class >
29+
30+
31+ </hibernate-mapping >
Original file line number Diff line number Diff line change 1+ using System ;
2+ using System . Collections . Generic ;
3+ using System . Linq ;
4+ using System . Text ;
5+ using System . Threading . Tasks ;
6+
7+ namespace NHibernate . Test . NHSpecificTest . NHNewBug
8+ {
9+ public class Parent
10+ {
11+ private int id ;
12+ private ContainedChild containedChild ;
13+ private ISet < ContainedChild > containedChildren = new HashSet < ContainedChild > ( ) ;
14+
15+ public virtual int Id
16+ {
17+ get { return id ; }
18+ set { id = value ; }
19+ }
20+
21+ public virtual ContainedChild ContainedChild
22+ {
23+ get { return containedChild ; }
24+ set { containedChild = value ; }
25+ }
26+ public virtual ISet < ContainedChild > ContainedChildren
27+ {
28+ get { return containedChildren ; }
29+ set { containedChildren = value ; }
30+ }
31+ }
32+ }
You can’t perform that action at this time.
0 commit comments