Пример 1:EF4. Добавить объект с отношением вызывает выбор полной таблицы
«autor.ComentariosWorkItens.Add (comentarioWorkItem);»
autor.ComentariosWorkItens делает EF4 загружаемым все ComentariosWorkItens.
Пример 2:
comentarioWorkItem.Usuario = Автор;
Fixup сделать EF загрузит все ComentariosWorkItens тоже:
private void FixupUsuario(Usuario previousValue)
{
if (previousValue != null && previousValue.ComentariosWorkItens.Contains(this))
{
previousValue.ComentariosWorkItens.Remove(this);
}
if (Usuario != null)
{
if (!Usuario.ComentariosWorkItens.Contains(this))
{
Usuario.ComentariosWorkItens.Add(this);
}
}
}
Как я могу предотвратить это?
С выбором существует. Другой пример: autor.ComentariosWorkItens.Count. EF4 также выберите полный стол, но просто нужно выбрать счетчик. Я думаю, что NHibernate называет это «Extra Lazy» –
Не путайте 'ObjectQuery' и' EntityCollection'. 'MyObjectContext.Usarios.Where (u => u.Id == id) .Firsd(). ComentariosWorkItems.Count()' will * not * выбирает все строки для пользователя. Выполнение этого же в экземпляре будет. Узнайте разницу между LINQ и объектами и LINQ to Entities. –
Но выберет все таблицы ComentariosWorkItems –