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 Frameworkの使用に関する優れたチュートリアルがたくさんあります(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 に答える