Вернуть "пользовательские" сущности в LinqToEntitiesDomainService, не сопоставляя их с БД? - PullRequest
3 голосов
/ 12 октября 2011

(Я много искал и пока не нашел ответа, может быть, это вообще невозможно: /)

Можно ли создавать объекты в EDM (из которого я создал свой DomainService)которые вообще не отображаются в какую-либо БД, а используются вместо этого между DomainService и Клиентом?Это может показаться странным для тех, кто является профессионалами в области инфраструктуры сущностей :) Моя цель - сделать возможным возвращение, например, только нескольких свойств сущности вместо целой сущности.Например, мне нужно только имя и дата рождения пользователя, и мне нет дела до других 10-20 свойств.В этом случае менее сложный объект был бы идеальным, возможно ли сделать эти "облегченные" версии объектов и использовать их в одном и том же DomainService?Или какие-либо другие предложения для этого простого сценария запроса данных, используя EF поверх БД?(Или, может быть, просто не заботится о полосе в 2011 году и всегда извлекает полные сущности?)

Спасибо, Балинт

1 Ответ

0 голосов
/ 12 октября 2011

Вы можете загрузить анонимные типы, выбрав несколько свойств вашей сущности, например:

 var studentEnrolments = from s in db.Students
                                  select new { s.FirstMidName,s.Enrollments};
        var studentEnrolmentsList= studentEnrolments.ToList();
        foreach (var studentEnrolment in studentEnrolmentsList)
        {
           //do something here 
        }

http://msdn.microsoft.com/en-us/library/bb738512.aspx

Редактировать ..

 var studentEnrolments = from s in db.Students
                       select new Student{FirstMidName= s.FirstMidName, Enrollments=s.Enrollments};
...