59

我正在尝试使用实体框架从数据库中选择所有行进行操作,然后再将它们发送到表单

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

里面有什么????

4

8 回答 8

87

我使用了 entitydatasource,它提供了我想做的一切所需的一切。

_repository.[tablename].ToList();

于 2012-06-05T22:22:37.477 回答
47

实体框架有一件很漂亮的事情,比如:

var users = context.Users; 

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


对于实体框架的新手来说,就像:

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

这将选择表中的所有行User

于 2016-02-10T12:29:54.320 回答
22

怎么样:

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

ModelName 是设计者自动生成的类,继承自ObjectContext.

于 2012-06-05T15:33:55.767 回答
11

您可以使用此代码选择所有行:

C# :

var allStudents = [modelname].[tablename].Select(x => x).ToList();
于 2018-07-10T19:02:52.067 回答
5

您可以简单地遍历 DbSet context.tablename

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

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

var allRows = context.tablename.ToList();
于 2013-07-09T11:34:51.280 回答
1

我知道旧帖子,但是使用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);
}
于 2020-05-13T09:48:05.810 回答
0

这里有几种方法(假设我正在为 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"))

    }
于 2020-06-17T02:20:38.350 回答
-2

您可以使用:

ptx.[tablename].Select( o => true)
于 2012-06-05T15:35:30.923 回答