Проблема в следующем - у меня есть 2 объектов с одной ко-многим:EF 4,3 & CodeFirst: Один-ко-многим навигационных свойств нагрузок как нулям без объекта прокси
public class Schema
{
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public Guid SchemaId { get; set; }
public string Name { get; set; }
public string Content { get; set; }
public string ElementName { get; set; }
public List<Element> Elements { get; set; }
}
public class Element
{
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public Guid ElementId { get; set; }
public Guid SchemaId { get; set; }
public string Content { get; set; }
public Schema InSchema { get; set; }
}
и проекта ссылки на EntityFramework v4 .3 пакет. После хранения некоторых схем со связанными элементами в базе данных я загружаю список схем (например, var schemasList = context.Schemas.ToList()). После этого во всех случаях значение свойства Schema in Elements равно null. Теперь я решаю эту проблему с добавлением динамического прокси для сущностей, но это имеет некоторое плохое влияние на множество сценариев dev (например, сохранение может привести к ошибке «Entity tracking by multiple context»). Благодарим за помощь в решении этой проблемы.
необходимо с CodeFirst? – DrAlligieri
@DrAlligieri: Зависит от меня, у меня был один сервер, где мне не нужно было вводить его, а другой - там, где это необходимо было ввести. Требуется прогулка по бизнес-слою. В любом случае это требуется, так как в противном случае вы делаете ленивую загрузку (загружаете только то, что нужно), поэтому теперь вы говорите с помощью Include, что вы должны ** ПРИСОЕДИНЯТЬ ** в таблице Elements (которую можно считать производительностью если вам это не понадобится). –
OK, tnx для ответа. Я знаком с ленивой концепцией загрузки (и не очень нравится);). И еще один вопрос: Включить загружает только объекты sc.Elements (ak List) (простые элементы ak Element) или перемещаться (если у него есть другие сложные реквизиты для отображения в виде списка). –
DrAlligieri