使用 table 名称更改 DbSet

Change DbSet with table name

我想知道如何使用 table 名称更改 DbContext 上的 DbSet(而不是像示例中那样使用修复 DbSet)。我已经尝试 this solution 但没有结果。

        var type = Assembly.GetExecutingAssembly()
            .GetTypes()
            .FirstOrDefault(t => t.Name == tablename);

        DbSet dsContext = DbContext.Set(type);

        var data = DbContext.dsContext 
            .Where(r => r.C_NUMERICID == idLinea)
            .Where(r => r.C_TIMESTAMP > startDate)
            .OrderBy(r => r.C_TIMESTAMP)
            .ToList();

DbContext does not contain the defintion of 'dsContext'

我查询错了。这是有效的解决方案。

type = Assembly.GetExecutingAssembly()
   .GetTypes()
   .FirstOrDefault(t => t.Name == kepwareTableName);
IQueryable data = DbContext.Set(type)
   .Where($"C_NUMERICID == {idLinea}")
   .Where("C_TIMESTAMP > @0", startDate)
   .OrderBy("C_TIMESTAMP");
return data ;