Мне любопытно, что лучше всего подходит для этой ситуации в Entity Framework 4.0. У меня есть следующая карта объектов:
Объект A -> Объект B -> Объект C
Где Entity A содержит список Entity B, каждый из которых содержит список Entity C. Я использую объекты самоотслеживания, и когда я загружаю объект A, я делаю что-то похожее на это:
EntityA entityA = ctx.EntityA.Include("EntityB").Where(x => x.Id == id).SingleOrDefault();
Когда я попытался сделать это:
EntityA entityA = ctx.EntityA.Include("EntityB").Include("EntityC").Where(x => x.Id == id).SingleOrDefault();
Это не удается, потому что он не может найти навигационное свойство «Сущность C». Есть ли способ загрузить свойства навигации? Мне также потребуется иметь возможность отслеживать изменения, принимать изменения и помечать как удаленные для различных операций CRUD.
В качестве побочного вопроса: существует ли общий атрибут, используемый для идентификации свойства навигации в Entity Framework? Я надеялся использовать отражение и рекурсию, чтобы идентифицировать все мои свойства навигации.