Мой кошмар EF продолжается. Я заметил, когда я использую жадную загрузку include
все связанные таблицы будут получать в моем приложении. Так, например, 1 имеет 3 таблицы /POCO, как показано ниже, из ниже POCO и linq я просто хочу получить 2 таблицы, но, тем не менее, когда я проверю генерацию T-SQL, все 3 таблицы будут извлекаться. Как исключить таблицу 3?
Poco
public class TableA{
public virtual ICollection<TableB> B { get; set; }
}
public class TableB{
public virtual ICollection<TableC> C { get; set; }
}
public class TableC{
}
LINQ
var rs =(from family in context.A.Include("B")
select family).SingleOrDefault();
Если вы хотите контролировать мелкие зерна, на которых загружаются объекты, используйте:
db.Configuration.LazyLoadingEnabled = false;
Обратите внимание, что для каждого экземпляра вашего DbContext вы можете либо получить ленивую загрузку, либо стремительную загрузку.
Вы не должны пытаться использовать оба экземпляра в одном экземпляре.