Select All Rows Using Entity Framework

2020-05-18 04:38发布

问题:

I'm trying to select all the rows out of a database using entity framework for manipulation before they're sent to the form

var ptx = [modelname].[tablename]();
ptx.[tablename].Select(????)

what goes in the ????

回答1:

I used the entitydatasource and it provide everything I needed for what I wanted to do.

_repository.[tablename].ToList();



回答2:

Entity Framework has one beautiful thing for it, like :

var users = context.Users; 

This will select all rows in Table User, then you can use your .ToList() etc.


For newbies to Entity Framework, it is like :

PortalEntities context = new PortalEntities();
var users = context.Users;

This will select all rows in Table User



回答3:

How about:

using (ModelName context = new ModelName())
{
    var ptx = (from r in context.TableName select r);
}

ModelName is the class auto-generated by the designer, which inherits from ObjectContext.



回答4:

You can use this code to select all rows :

C# :

var allStudents = [modelname].[tablename].Select(x => x).ToList();


回答5:

You can simply iterate through the DbSet context.tablename

foreach(var row in context.tablename)
  Console.WriteLn(row.field);

or to evaluate immediately into your own list

var allRows = context.tablename.ToList();


回答6:

Old post I know, but using Select(x => x) can be useful to split the EF Core (or even just Linq) expression up into a query builder.

This is handy for adding dynamic conditions.

For example:

public async Task<User> GetUser(Guid userId, string userGroup, bool noTracking = false)
{
    IQueryable<User> queryable = _context.Users.Select(x => x);

    if(!string.IsNullOrEmpty(userGroup))
        queryable = queryable.Where(x => x.UserGroup == userGroup);

    if(noTracking)
        queryable = queryable.AsNoTracking();

    return await queryable.FirstOrDefaultAsync(x => x.userId == userId);
}


回答7:

You can use:

ptx.[tablename].Select( o => true)