我使用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不会映射地址和车辆。它只将列名映射到属性。
有解决方法吗?我还能怎么做映射?
..你不能做的是返回对象的图形,例如包含复杂类型属性的实体。
答案 0 :(得分:3)
实体框架(无论如何最多6个)不支持将原始SqlQueries映射到对象图,仅作为简单实体。
您可以使用标准LINQ与它们之间的标准实体框架参考映射,并使用包含或您需要的任何其他内容。
但是如果标准的LINQ到EF不起作用,因为你的SqlQuery使用SQL函数或存储过程或其他东西,那么你就不走运了。
PS:发布您的SQL查询可能在将来有所帮助,因此答案可能更具体针对您的问题。