我想跟蹤任何元素未包含的根對象的列表。我想下面的僞代碼工作:NHibernate:使用根對象的根集合
using (session1 = [...]) {
IList<FavoriteItem>list = session1.Linq<FavoriteItem>().ToList();
}
list.Add(item1);
list.Add(item2);
list.Remove(item3);
list.Remove(item4);
var item5 = list.First(i => i.Name = "Foo");
item5.Name = "Bar";
using (session2 = [...]) {
session2.Save(list);
}
這應該自動插入物品1和項目2,項目3刪除和項目3和更新ITEM5(即我不想單獨調用sesssion.SaveOrUpdate()的所有項目。
是否有可能確定不與表關聯僞實體比如我要定義的類收藏夾和它比圖2個集合屬性我想寫這樣的代碼:
using (session1 = [...]) {
var favs = session1.Linq<Favorites>();
}
favs.FavoriteColors.Add(new FavoriteColor(...));
favs.FavoriteMovies.Add(new FavoriteMovie(...));
using (session2 = [...]) {
session.SaveOrUpdate(favs);
}
FavoriteColors and FavoriteMovies是收藏夾類的唯一屬性,屬於IList和IList類型。我只想保留這兩個集合屬性,但不是收藏夾類。
其實我想要一個IPersistentCollection對象跟蹤添加和刪除屬於沒有父實體並代表自己(發生在實體集合屬性發生的相同的東西,只在我的情況下,我沒有父實體)。如果集合屬於一個實體,在這種情況下,我可以在兩個會話之間添加和刪除項目,這非常有效。
任何幫助,非常感謝。
要求它必須在會話間工作並不清楚你的問題。您應該將此(和其他隱藏的要求)添加到您的問題中,以避免人們花時間給一個不完整的問題提供無用的答案。 – 2010-05-26 20:44:11