我在我的直接SQL查询做错了什么
本文关键字:查询 错了 什么 SQL 我的 | 更新日期: 2023-09-27 18:08:59
我的视图模型:
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。如何?
注:-"db"是我们的数据库上下文,我不能使用它与一个正常的EF查询,因为我们没有一个模型的LocationHierarchy表,长话长说。
方法的类型参数"System.Data.Entity.Database.SqlQuery(字符串,Parmsobject[]_'不能从用法中推断出来。尝试指定类型论点明确。
错误提示:明确指定类型参数
db.Database.SqlQuery<LocationsWithHierarchyViewModel>(cmd).ToList()