Предположим следующую модель данных:EF Ленивый-Loading: Добавить к навигации имущества без загрузки его
class Garden
{
int ID;
ICollection<Tree> Trees;
string Address;
}
class Tree
{
public int ID;
public float Size;
}
завод Давайте некоторые деревья:
var gardens = dbContext.Gardens.Take(10).ToList();
foreach (var g in gardens)
g.Trees.Add(new Tree());
Но теперь, каждая ссылка на g.Trees
вызывает запрос базы данных, из-за ленивой загрузки. Я мог бы сделать .Include(garden => garden.Trees)
, когда выбирал сады, но потом я переношу все существующие деревья.
Я мог бы создать столбец GardenID в дереве, а затем просто добавить дерево в свой DbContext, не касаясь свойства навигации. Но теперь мне нужно передать мой DbContext.
Как добавить дерево в сад без запуска ленивой загрузки свойства навигации и без переноса ненужных данных?
Либо сделайте свойство 'Trees' не виртуальным, либо отключите' dbContext' lazy. –
У вас есть переход к Саду в классе «Дерево». – Eldho