如何更新Orchard中的一組行?我有一個客戶ID數組。我想將所有這些客戶的IsActive字段設置爲否。在Orchard中更新多個數據庫行
我是否使用ContentManager或IRepository?我是否必須遍歷並更新每一行,或者是否有方法更新一條語句中的所有行?
謝謝。
如何更新Orchard中的一組行?我有一個客戶ID數組。我想將所有這些客戶的IsActive字段設置爲否。在Orchard中更新多個數據庫行
我是否使用ContentManager或IRepository?我是否必須遍歷並更新每一行,或者是否有方法更新一條語句中的所有行?
謝謝。
我不會推薦NHibernate的Hibernate查詢語言(HQL)爲「批量更新」,這讓事情變得更加困難,在烏節將升級它的核心NHibernate的3.2或更高版本這將是快得多,更多信息請參見http://fabiomaulo.blogspot.com/2011/03/nhibernate-32-batching-improvement.html
如果你仍然想執行更新語句,你可以在你的定製倉庫中使用HQL,倉庫基類中有一個受保護的屬性,它返回NHibernate ISession。使用此NHibernate的會議U可以調用的createQuery()
只要記住使用你的類名和propertynames,而不是表名
Query query = session.createQuery("update Customers set IsActive = :isActive" +
"where Id in (1,2,3,4,5,6,));
query.setParameter("isActive", "false");
int result = query.executeUpdate();
如果您有自己的表格,它沒有連接到任何ContentPart - 堅持IRepository
。 ContentManager
用於管理內容項目。
IRepository
IRepository
在烏節路上的實施,你需要遍歷所有客戶。