使用实体框架dbset获取所有行

时间:2012-12-01 11:15:04

标签: c# entity-framework

我想使用以下类型的语法

从表中选择所有行
public IQueryable<Company> GetCompanies()
{
    return DbContext.Set<Company>()
    .// Select all
}

原谅我,因为我是EF的新手

3 个答案:

答案 0 :(得分:37)

Set<T>()已经IQueryable<T>,它会返回表格中的所有行

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

同样生成的DbContext将为每个表指定属性。查找DbContext.Companies - 它与DbContext.Set<Company>()

相同

答案 1 :(得分:18)

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

例如:

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

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

答案 2 :(得分:2)

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

例如:

public List<Company> GetCompanies()
{
    using (var context = new MyContext())
    {
        return context.Companies.ToList();
    }
}
相关问题