C# 如何在不使用HQL的情况下进行批量保存/更新?
我可以使用HQL执行批量操作,但这些操作不会更新NHibernate的一级缓存,因此我面临各种问题,因为我不想清除会话或刷新对象C# 如何在不使用HQL的情况下进行批量保存/更新?,c#,caching,nhibernate,hql,bulkupdate,C#,Caching,Nhibernate,Hql,Bulkupdate,我可以使用HQL执行批量操作,但这些操作不会更新NHibernate的一级缓存,因此我面临各种问题,因为我不想清除会话或刷新对象 是否有任何方法可以在不使用HQL或本机SQL的情况下执行批量更新/删除,从而影响NHibernate缓存的内存状态?因此,似乎唯一的方法是手动处理并刷新对象: session.Refresh(entity); 不。正如我已经向你们展示的,DML不会影响内存状态——会话。是的。认识到这是使用ORM的一个明显限制。如果你花一个小时思考你可能遇到的问题,你就会明白为什么会
是否有任何方法可以在不使用HQL或本机SQL的情况下执行批量更新/删除,从而影响NHibernate缓存的内存状态?因此,似乎唯一的方法是手动处理并刷新对象:
session.Refresh(entity);
不。正如我已经向你们展示的,DML不会影响内存状态——会话。是的。认识到这是使用ORM的一个明显限制。如果你花一个小时思考你可能遇到的问题,你就会明白为什么会是这样。