Как получить ссылку на связанный родительский объект при выборе списка дочерних объектов с использованием платформы сущностей - PullRequest
0 голосов
/ 17 сентября 2009

Использование EF, как получить доступ к значениям в родительском свойстве при доступе к списку дочерних объектов.

т.е. У меня есть объект Project и объект расписания

Проект
Id
Имя
...

TimeSheet
ProjectID
UserId
Дата
TimeSpent
...

Я понимаю, как вернуть проект и связанные с ним расписания, но что, если я хочу вернуть все расписания для данного пользователя, а затем просто отобразить имя проекта с каждой записью расписания.

например. ProjectName, Date, TimeSpent

Рекомендуется ли создавать новую сущность для формирования этого результирующего набора, или я должен просто иметь возможность вернуть IEnumerable и получить доступ к полю .Project.Name.

Это очень легко, используя Linq to Sql или просто прямо ADO.net/SPs и т. Д., Но это убивает меня на EF ..

Есть идеи?

1 Ответ

0 голосов
/ 17 сентября 2009

Дети всегда имеют отношения со своими родителями. В вашем случае это, вероятно, называется что-то вроде «TimeSheet.Project». Таким образом, вы можете написать запрос как:

var q = from u in Context.Users
        where u.UserId == userId
        from ts in u.TimeSheets
        select new 
        {
            ProjectName = ts.Project.Name,
            Date = ts.Date,
            TimeSpent = ts.TimeSpent
        };
...