简单的SELECT WHERE LINQ查询到列表

时间:2014-01-14 07:32:50

标签: c# linq entity-framework

我是LINQ新手,

我想从dbcontext生成一个对象列表,其中某个字段设置为true。

这是我到目前为止所做的,但我收到有关选择的错误?

using (var db = new dbContext())
{
    return (from s in db.sims.Where(x=>x.has_been_modified == true) select x).ToList();               
}

编辑:

    //Returns a list of entries which where marked as edited in the sim managment database
    private List<String> GetUpdatedEntries()
    {
        using (var db = new dbContext())
        {
            return db.sims.Where(x => x.has_been_modified).ToList();                  
        }
    }

2 个答案:

答案 0 :(得分:16)

select s,而非x,这将有效。 (因为你做from s

更短的方式

return db.sims.Where(x => x.has_been_modified).ToList();

适用于您的修改

方法返回类型应为List<Sim>,而不是List<String>

答案 1 :(得分:2)

这将有效

return db.sims.Where(x=>x.has_been_modified).ToList();
  1. 方法Linq看起来更干净
  2. 你不需要检查你的bool是否真实
  3. 在您之前的回答中,您使用了s作为上下文并选择了x,更改为select s也可以使用
  4. 考虑使用延迟加载,不要在每个查询的末尾添加ToList