Nhibernate 将ID分配给新对象
我有一个简单的域对象Movie,具有以下构造函数:Nhibernate 将ID分配给新对象,nhibernate,oop,repository,Nhibernate,Oop,Repository,我有一个简单的域对象Movie,具有以下构造函数: public Movie(string title, int year = 0, Genre genre = Genre.None, int length = 0, IEnumerable<string> actors = null) { ... } 没有ID参数,因为无法预先知道ID是什么。电影确实有一个int-Id属性 这个对象将被发送到我的MovieRepository,它使用NHibernate。存储库有一个添加电影的方法
public Movie(string title, int year = 0, Genre genre = Genre.None, int length = 0, IEnumerable<string> actors = null) { ... }
没有ID参数,因为无法预先知道ID是什么。电影确实有一个int-Id属性
这个对象将被发送到我的MovieRepository,它使用NHibernate。存储库有一个添加电影的方法:void addmovie movie{…}
假设我希望在插入对象后与该对象交互,可能是为了显示数据或更改属性。我需要设置Id属性的对象,或者需要知道数据库生成的Id
我应该更改AddMovie方法以返回ID设置相同的电影,还是返回结果ID值?或者其他什么?我建议更改AddMovie以返回新创建的电影,并指定其Id
由于Session.SaveOrUpdate方法已返回带有Id的对象,这非常简单。在调用Session.Save或Session.SaveOrUpdate后,Id将返回给您以供将来查询
另请参见此项。谢谢您的建议。我可以接收ID,然后获取并返回新保存的对象。@格兰特:我还建议您获取这本书。。这对我帮助很大: