将GUID转换为字符串实体框架
本文关键字:实体 框架 字符串 GUID 转换 | 更新日期: 2023-09-27 18:08:35
冒着问一个重复问题的风险,我似乎无法让这个工作。我想做的事情有很多例子,但语法不太一样,什么都没起作用。我正在自学Linq。这个查询从SQL server获取一个id列表。如果没有"ToString()",它会说"不能将GUID转换为字符串[]"。请提前告知并感谢。
public string[] GetAllRoleIDs(string param)
{
using (DBEntities de = new DBEntities())
{
string[] roleset = (from p in de.MySQLView
where p.anotherfield == param
select p.RoleID.ToString()).Distinct().ToArray();
return roleset;
}
}
您希望AsEnumerable()
强制ToString()
调用在本地求值,而不是作为EF查询的一部分。例如:
using (DBEntities de = new DBEntities())
{
string[] roleset = de.MySQLView
.Where(p => p.anotherfield == param)
.Select(p => p.RoleID)
.Distinct()
.AsEnumerable()
.Select(guid => guid.ToString())
.ToArray();
return roleset;
}
(我已经将它从查询表达式转换为使用点符号,因为两者之间的混合和匹配很麻烦,并且您只有where
和select
。)当然,如果您愿意,也可以使用查询表达式)