Bat*_*rog 1 c# linq linq-to-entities
我使用LINQ从数据库中提取单个值:
public string GetPoliceDepartmentName(int id)
{
var PoliceDepartmentName = from p in db.PoliceDepartmentList
join l in db.TrespassOrder on p.PoliceDeptId equals l.PoliceDepartmentId
where l.IncidentId == id
select p.DepartmentName.Single();
return PoliceDepartmentName.ToString();
}
Run Code Online (Sandbox Code Playgroud)
该方法运行,但不返回预期的"Boston PD",而是返回System.Data.Objects.ObjectQuery`1 [System.Char]
我不确定为什么我的方法没有从queriable转换为string.我会继续研究,但在这一点上提示会很好.
你打电话Single的string,这就是IEnumerable<char>,所以你会得到第一个(也是唯一一个)从串字符.这可能不是你想要的.
使用适当的括号,您根本不需要ToString调用,因为PoliceDepartmentName将string自动输入类型.
var PoliceDepartmentName = (from p in db.PoliceDepartmentList
join l in db.TrespassOrder on p.PoliceDeptId equals l.PoliceDepartmentId
where l.IncidentId == id
select p.DepartmentName).Single();
return PoliceDepartmentName;
Run Code Online (Sandbox Code Playgroud)