将单个LINQ值转换为字符串
本文关键字:字符串 转换 单个 LINQ | 更新日期: 2023-09-27 18:05:33
我正在使用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();
}
方法运行了,但是它没有返回预期的"Boston PD",而是返回System.Data.Objects.ObjectQuery ' 1[System.Char]
我不知道为什么我的方法不是从可查询转换到字符串。我将继续研究,但在这一点上提示会很好。
您在string
上调用Single
,这是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;
需要括号:
(from p in db.PoliceDepartmentList
join l in db.TrespassOrder on p.PoliceDeptId equals l.PoliceDepartmentId
where l.IncidentId == id
select p.DepartmentName).Single();