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

43

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

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

请谅解,我完全不了解EF。

3个回答

57

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

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

还会生成DbContext,每个表都有命名的属性。查找DbContext.Companies - 它与DbContext.Set<Company>()相同。


1
这个不需要异步吗? - Demodave
它不需要异步,但它与之兼容。 - Erik Philips

23

10

我喜欢使用列表来处理任务,因为它可以很好地展示所有的关系。

举个例子:

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

如果你想以异步方式执行此操作并避免阻塞调用,请使用.ToListAsync() - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接