linq项目在选定的新关键字中没有foreach

时间:2015-03-30 15:37:15

标签: c# linq

我想使用linq to SQL获取数据。我这样使用了每个人 是否有另一种方法来获取查询数据而不是每个。基本上我想从查询中获取d.name而不使用每个循环,因为我知道有一个对象不需要使用循环。

var query=from d in db.table where d.id=2 select new {d.name};
foreach (var item in query)
        {
            string a=item.name;
        }

2 个答案:

答案 0 :(得分:0)

看起来你只想要名字,你不需要这里的一个类型,你可以像这样使用FirstOrDefault

db.table.Where(d => d.id == 2).Select(d => d.name).FirstOrDefault();

如果没有这样的记录,这将返回带有id 2的第一条记录的名称或返回 null

如果您希望所有名称都使用ToList而不是FirstOrDefault

答案 1 :(得分:0)

你可以将FirstOrDefault与你的代码一起使用(如果d.name是一个字符串):

var query=(from d in db.table
           where d.id==2 
           select d.name)
           .FirstOrDefault();