0
我有下面的代码使用存储库模式,支持流畅的nhibernate自动映射到MySQL数据库。坚持2 NHibernate与一对多
下面的代码片段将一个用户和一个人添加到模型中,然后保留到数据库中。
它的工作原理,但是我必须记得把user.Person.User = user;
否则当对象被持久化时,Person
已将FK userId设置为空。
是否有办法来自动使
Person.User
被填充,或者我需要创建要做到这一点的方法?有没有一种方法,以使与该用户相关联的所有对象被持久化(如只调用一个对象repository.Save(OBJ),并导致其他人也被保留。)
using (MySQLRepositoryBase repository = new MySQLRepositoryBase()) { try { repository.BeginTransaction(); User user = new User() { Password = "12345", Username = "jbloggs", Person = new Person() }; user.Person.Firstname = "Joe"; user.Person.Lastname = "Bloggs"; user.Person.User = user; repository.Save(user); repository.Save(user.Person); } catch (Exception ex) { MessageBox.Show(ex.ToString()); repository.RollbackTransaction(); } }