Код: Выделить всё
class TreeModel {
int id;
virtual Collection ParentNodes;
}
class ParentNode {
int id;
virtual Collection TreeModel;
virtual Collection ChildNode;
}
class ChildNode {
int id;
virtual ParentNode Parent;
}
Код: Выделить всё
// Add Model button
tree = new TreeModel;
dbContext.Models.Add(tree); // changetracking in logs
// Add Node button:
tree.ParentNodes.Add(new ParentNode());
new ParentForm(tree.ParentNodes.First());
// In ParentForm:
ParentNode.Add(new ChildNode());
Я ожидаю, что, поскольку TreeModel отслеживается, он обнаружит изменения в свойствах навигации и разрешит их соответствующим образом.Это проблема, когда я хочу вызвать форму (ParentNode) и хочу отобразить некоторые свойства из TreeModel (например, имя) внутри этой формы или дублировать ChildNode из другого ParentNode во время создания мастеров.
Я не могу перемещаться по дереву, потому что TreeModel никогда не устанавливается в ParentNode.
Все на минном поле обхода null, что кажется совершенно неправильным.
Обходным решением может быть установка этих свойств вручную, но это похоже на противоречие тому, для чего предназначен EF.
Другой способ — установить передать dbContext повсюду в приложении и вызвать СохраняйтеContext на каждом шаге, но в документации это также не рекомендуется.
Значит, я, должно быть, делаю здесь что-то не так. Каков правильный рабочий процесс создания сущностей?
Подробнее здесь: https://stackoverflow.com/questions/792 ... o-database
Мобильная версия