asp.net 使用实体框架选择所有行

aiazj4mn  于 2023-03-24  发布在  .NET
关注(0)|答案(9)|浏览(179)

我尝试在将数据发送到表单之前,使用实体框架从数据库中选择所有行进行操作

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

里面是什么????

wh6knrhe

wh6knrhe1#

我使用了entitydatasource,它提供了我想做的事情所需要的一切。
_repository.[tablename].ToList();

wbrvyc0a

wbrvyc0a2#

Entity Framework有一个很好的东西,比如:

var users = context.Users;

这将选择表User中的所有行,然后您可以使用您的.ToList()等。

对于Entity Framework的新手来说,就像:

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

这将选中表User中的所有行

cfh9epnr

cfh9epnr3#

不如这样:

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

ModelName是设计器自动生成的类,它继承自ObjectContext

aamkag61

aamkag614#

您可以使用以下代码选择所有行:
C编号:

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

50pmv0ei5#

您可以简单地遍历DbSet上下文。tablename

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

或立即评估到您自己的列表中

var allRows = context.tablename.ToList();
n7taea2i

n7taea2i6#

如果它在async方法下,则使用ToListAsync()

public async Task<List<DocumentTypes>> GetAllDocumentTypes()
        {
            var documentTypes = await _context.DocumentTypes.ToListAsync();

            return documentTypes;
        }
ws51t4hk

ws51t4hk7#

我知道旧帖子,但是使用Select(x => x)可以很有用地将EF Core(甚至只是Linq)表达式拆分为查询构建器。
这对于添加动态条件很方便。
例如:

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);
}
6rvt4ljy

6rvt4ljy8#

这里有几种方法(假设我正在为DbConext使用依赖注入)

public class Example
{
    private readonly DbContext Context;

    public Example(DbContext context)
    {
        Context = context;
    }

    public DbSetSampleOne[] DbSamples { get; set; }

    public void ExampleMethod DoSomething()
    {
        // Example 1: This will select everything from the entity you want to select
        DbSamples = Context.DbSetSampleOne.ToArray();

        // Example 2: If you want to apply some filtering use the following example
        DbSamples = Context.DbSetSampleOne.ToArray().Where(p => p.Field.Equals("some filter"))

    }
7cwmlq89

7cwmlq899#

您可以用途:

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

相关问题