如何从LINQ语句返回值

时间:2010-09-19 12:14:46

标签: linq

var x = from y in db.table
            where y.member_id == 1
            select new { y.member_id };

此语句应仅返回一条记录。 &安培;我想检索语句以字符串格式返回的值。

string m = x;

我该怎么做?!

4 个答案:

答案 0 :(得分:3)

var x = (from y in db.table
         where y.member_id == 1
         select new { y.member_id }).FirstOrDefault();

如果用户不存在,它将返回null

如果new { }应该是一个字符串,你可能想要摆脱y.member_id部分。

var x = (from y in db.table
         where y.member_id == 1
         select y.member_id).FirstOrDefault();

答案 1 :(得分:0)

您可以使用:

string m = db.table.where(member=>member.member_id == 1).FirstOrDefault().member_id.ToString();

,前提是'table'是POCO,或者它可以支持属性访问。

答案 2 :(得分:0)

您可以使用take 1将返回的元素数量限制为一个,但仍然可以从查询中获取一个集合(您必须使用例如{{1)来提取第一个元素}})。

但为什么不使用

.First()

找到满足谓词的元素?

答案 3 :(得分:0)

如果您确定该语句应仅返回单个结果,而不是使用.First/.FirstOrDefault,则应使用.Single/.SingleOrDefault,以便您有效地断言只有一个结果。如果查询返回多个项目,则会出现错误情况。这可能很有用。