nHibernate中同时实现继承与多对一/一对多映射

看看我的例子:

Student 继承User  User.hbm.xml:


 
  
    
  

....
   
    
 .....
   
   
    
    
   
      
   

Student 与 Score 是一对多(ont-to-many)的的关系:score.hbm.xml:

 
  
    
      
    

  ....
      
  



假设我们已经有StudentID=20020724的持久实例存在,现在我们为其添加一成绩实例:
Score score = new Score();
score.Subject  =  "C++ Promgraming";
score.Credit = 3;
...
ITransaction trans = session.BeginTransaction();
Student student = (Student)session.Load(typeof(Student),20020724);
student.Score.Add(score);
score.Student = student;
session.Save(score);               //在这里,这一步是必须,因为我们的Student是从User继承过来的,
trans.Commit();

你可能感兴趣的:(nHibernate)