将复杂类型映射到实体框架中的SqlQuery

时间:2014-01-06 12:17:16

标签: c# entity-framework ef-code-first

我使用SqlQuery调用存储过程,结果应该是对象图,即

public class Person
 {
   public int Id{get;set;}
   public string FullName {get;set;}
   public Address HomeAddress {get;set;}
   public Vehicle PrivateVehicle {get;set;}
 }

但是SqlQuery不会映射地址和车辆。它只将列名映射到属性。

有解决方法吗?我还能怎么做映射?

I found this:

  

..你不能做的是返回对象的图形,例如包含复杂类型属性的实体。

1 个答案:

答案 0 :(得分:3)

实体框架(无论如何最多6个)不支持将原始SqlQueries映射到对象图,仅作为简单实体。

您可以使用标准LINQ与它们之间的标准实体框架参考映射,并使用包含或您需要的任何其他内容。

但是如果标准的LINQ到EF不起作用,因为你的SqlQuery使用SQL函数或存储过程或其他东西,那么你就不走运了。

PS:发布您的SQL查询可能在将来有所帮助,因此答案可能更具体针对您的问题。