Linq to SQL-как отключить загрузку ассоциаций?
У меня есть сущность, которая имеет ассоциацию "один ко многим" (она имеет ссылку на коллекцию других связанных элементов).
Иногда мне нужно загрузить набор этих сущностей из базы данных и поместить их в список, который может удерживать их в памяти в течение некоторого времени. В результате я получаю список сущностей со всеми ассоциациями. Но проблема в том, что мне нужны эти сущности без ассоциаций.
Могу ли я как-то вручную отключить ассоциации загрузки в некоторых ситуациях?
1 ответ:
Я не знаю переключатель или параметр, чтобы отключить его, но вы ограничиваете данные результата, определяя его вручную. Итак, если у вас есть таблица person, которая имеет внешний ключ FamilyId, который указывает на таблицу family (с идентификатором, именем, столбцом комментариев), потому что семья может иметь одного или нескольких человек, но человек может быть только в одной семье. Если вы хотите иметь все семьи, но не назначенных лиц, вы можете позвонить:
var result = datacontext.Families.Select( s => new { ID = s.ID, Name = s.Name, Comment = s.Comment});Результатом является список объектов, которые имеют только свойства из выбранное выражение.
Comments