我试图将linq语句的结果转换为string []数组 如下所示
string[] g = from p in db.np_user_security where
p.user_id == user_id select p.group_id.Distinct().ToArray();
但是给我一个错误,如下所示
无法将类型'System.Linq.IQueryable'隐式转换为 '字符串[]'
查询返回一个id列表,我需要将它保存在string或long数组中。我错过了什么?
答案 0 :(得分:2)
通过执行p.group_id.Distinct().ToArray()
,您将每个group_id
拆分为不同字符数组。实际上,整个查询返回字符数组的IQueryable
,而不是ids。
我相信你想在调用Distinct().ToArray()
之前先用parens包装查询:
string[] g = (from p in db.np_user_security
where p.user_id == user_id
select p.group_id
).Distinct().ToArray();