39

我想使用以下类型的语法从表中选择所有行:

public IQueryable<Company> GetCompanies()
{
    return DbContext.Set<Company>()
    .// Select all
}

请原谅我,因为我对 EF 完全陌生。

4

3 回答 3

53

Set<T>()已经是IQueryable<T>并且它返回表中的所有行

public IQueryable<Company> GetCompanies()
{
    return DbContext.Set<Company>();    
}

还将生成DbContext每个表的命名属性。找DbContext.Companies——同DbContext.Set<Company>()

于 2012-12-01T11:17:39.790 回答
22

执行此操作的常规方法是实例化您的 dbContext。

例如:

public IQueryable<Company> GetCompanies()
{
    using(var context = new MyContext()){ 
        return context.Companies;
    }
}

有很多关于使用 CodeFirst Entity 框架的好教程(如果你有一个 DbContext 并且是新的,我假设你正在使用它)

于 2012-12-01T11:18:15.087 回答
8

我更喜欢名单上的工作,这里也有所有的关系

例如:

public List<Company> GetCompanies()
{
    using (var context = new MyContext())
    {
        return context.Companies.ToList();
    }
}
于 2020-02-02T16:29:02.987 回答