是否可以将存储过程列映射回EF4中的实体?

时间:2011-08-24 19:52:20

标签: c# .net entity-framework

我的数据库中有一个存储过程,它为一些用户返回一组数据。当然,userId作为此集的一部分返回。我已将存储过程导入到Entity Framework模型中,并创建了一个新的复杂类型来存储结果。

List<GetUserData_Result> x = context.GetUserData().ToList();
List<int> userids = x.Select(u => u.UserId);

有没有办法将我的复杂类型中的userId与已存在的User实体相关联?即使我的存储过程没有返回电子邮件地址,这也允许我说result.User.EmailAddress之类的东西?在MSDN上进行的大量讨论表明,使用AssociationAttribute类可以实现这一点,但到目前为止我还无法找到一个例子。

1 个答案:

答案 0 :(得分:0)

这将是一个很好的功能,但目前的版本不提供此功能。复杂类型不能具有导航属性(因此它不能指向实体)。这意味着EF不会为你做那件事,但你可以拥有自己的属性,这将以某种方式让用户获得该ID并返回它 - 很可能这将使你的复杂类型依赖于ObjectContext这是不好的。

实体框架根本不使用

AssociationAttribute。它用于WCF RIA服务。