NHibernate允许我查询一个数据库并获得一个IList对象作为回报。假设我得到了几十个对象的列表并修改了大约6个对象。 NHibernate是否有一种方法来保存对集合的更改,还是我必须在更改它时保留每个对象?坚持顶级集合?
下面是一个例子。假设我运行以下代码:
var hql = "from Project";
var query = session.CreateQuery(hql);
var myProjectList = query.List<Project>();
我将找回包含所有项目的IList。现在假设我执行下面的代码:
var myNewProject = new Project("My New Project");
myProjectList .Add(myNewProject);
而且让我们说我这样做了好几次,增加了几个新的项目列表。现在我准备好继续对集合进行更改。
我想通过将myProjectList传递给当前的ISession进行更新来坚持更改。但 ISession.SaveOrUpdate()似乎只接受单个对象,而不是像myProjectList这样的集合。有没有办法让我可以坚持更改myProjectList,或者我必须坚持每个新的对象,因为我创建它?谢谢你的帮助。
大卫Veeneman
远见系统