在LinqToEntitiesDomainService中返回“自定义”实体而不将它们映射到数据库?

时间:2011-10-12 00:23:12

标签: silverlight entity-framework wcf-ria-services

(我搜索了很多但还没有找到答案,也许根本不可能:/)

是否可以在EDM中创建实体(我从中生成我的DomainService),这些实体根本没有映射到任何数据库,只是在DomainService和Client之间使用? 对于那些是实体框架专业人士来说,这可能听起来很奇怪:)我的目标是让例如只返回实体的一些属性而不是整个实体。 例如,我只需要用户的名字和生日,我不关心其他10-20个属性。在这种情况下,一个不太复杂的实体将是完美的,是否有可能制作这些实体的“轻量级”版本并在同一个DomainService中使用它们? 或者对于这种简单数据查询场景的任何其他建议,在数据库顶部使用EF? (或者也许只是不关心2011年的带宽并总是检索完整的实体?:)

谢谢, 巴林特

1 个答案:

答案 0 :(得分:-1)

您可以通过选择实体的多个属性来加载匿名类型,例如

 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};