我的观点模型:
public class LocationsWithHierarchyViewModel
{
public long Id { get; set; }
public string Name { get; set; }
public string Lineage { get; set; }
}
我的查询(在SQL中测试,有效):
string cmd = string.Format(@"
SELECT Locations.Id, Locations.Name, LocationHierarchy.Lineage
FROM Locations
LEFT JOIN LocationHierarchy
ON Locations.Id = LocationHierarchy.Id
WHERE OfficeId = {0};
", 1);
我确信代码的一部分会导致问题:
var locationsInOffice = db.Database.SqlQuery(cmd).ToList<LocationsWithHierarchyViewModel>();
错误是我必须指定数据的返回类型,即List。怎么办?
P.S。 - &#34; db&#34;是我们的数据库上下文,我不能将它与普通的EF查询一起使用,因为我们没有为LocationHierarchy表建立模型,长篇大论。
方法的类型参数 &#39; System.Data.Entity.Database.SqlQuery(字符串, parmsobject [] _&#39;无法从使用中推断出来。尝试指定类型 明确的论点。
答案 0 :(得分:3)
如错误消息所示:明确指定类型参数。
db.Database.SqlQuery<LocationsWithHierarchyViewModel>(cmd).ToList()