Я хочу отслеживать список корневых объектов, которые не содержатся ни в одном элементе. Я хочу, чтобы следующий псевдокод для работы: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);
}
Это должно автоматически вставлять item1 и item2, удалять item3 и item3 и обновлять 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 являются единственными свойствами класса Favorites и имеют тип IList и IList. Я хочу только сохранить эти два свойства коллекции, но не класс Favorites.
На самом деле я хочу объект IPersistentCollection, который отслеживает добавление и удаление, который не принадлежит родительскому объекту, и сам по себе (тот же материал, который происходит с свойствами коллекции объектов, только в моем случае у меня нет родительского объекта). Это работает отлично, если коллекции принадлежат сущности, и в этом случае я могу добавлять и удалять элементы между двумя сеансами.
Любая помощь очень ценится.
Требование, чтобы оно работало между сеансами, не ясно из вашего вопроса. Вы должны добавить этот (и другие скрытые требования) к своему вопросу, чтобы избежать того, чтобы люди тратили время, давая бесполезные ответы на неполный вопрос. –