Частичная готовая загрузка дочернего объекта (загрузка определенных файлов) - PullRequest
0 голосов
/ 09 июня 2011

Я немного искал и понимал, что могу использовать проекцию, чтобы частично загрузить сущность , возникает вопрос, есть ли способ частично загружать ребенка?Скажем, у меня есть следующее

Субъект A имеет

Id
Name
EntityB

, а Субъект B имеет

Id
StuffToBeLoaded1
StuffToBeLoaded2
OtherStuffNotToBeLoaded

Как я могу загрузить A с помощью B, а B имеет только stuffToBeLoaded1 иstuffToBeLoaded2?Я думаю, я не могу вызвать .Inlucde ("EntityB"), иначе он полностью загружен, не так ли?

1 Ответ

3 голосов
/ 09 июня 2011

Вы должны использовать пользовательский запрос с проекцией.Если свойство EntityB представляет коллекцию, вы можете использовать что-то вроде:

var query = from a in context.EntitiesA
            select new 
               {
                  a.Id,
                  a.Name,
                  Bs = a.EntityB.Select(b => new { 
                       b.StuffToBeLoaded1, 
                       b.StuffToBeLoaded2 
                  })
               };

Если EntityB не является свойством навигации по коллекции, вы можете просто использовать:

var query = from a in context.EntitiesA
            select new 
               {
                  a.Id,
                  a.Name,
                  a.EntityB.StuffToBeLoaded1, 
                  a.EntityB.StuffToBeLoaded2 
               };           
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...