Question

I want to select all rows from a table using the following type of syntax:

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

Forgive me as I am completely new to EF.

Était-ce utile?

La solution

Set<T>() is already IQueryable<T> and it returns all rows from table

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

Also generated DbContext will have named properties for each table. Look for DbContext.Companies - it's same as DbContext.Set<Company>()

Autres conseils

The normal way to do this is by instantiating your dbContext.

For example:

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

There are lots of good tutorials on using CodeFirst Entity framework (which i assume you are using if you have a DbContext and are new)

I prefer work on list, also have all relations here

For example:

public List<Company> GetCompanies()
{
    using (var context = new MyContext())
    {
        return context.Companies.ToList();
    }
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top