Entity framework core 动态表上EF Core 3.1中的原始SQL选择

Entity framework core 动态表上EF Core 3.1中的原始SQL选择,entity-framework-core,ef-core-3.1,Entity Framework Core,Ef Core 3.1,我的小问题是:我需要从一个表中选择一个字段,通过Id字段进行过滤 在SQL中,我只想这样写: SELECT Field FROM {Table} WHERE Id = 1 表名是可变的 考虑到表名可能会有所不同,如何使用EF Core 3.1执行这个非常简单的查询 我已经试过了 context.Database.ExecuteSqlCommand($"SELECT TOP 1 Field FROM {table} WHERE Id={id}") 但我无法读取结果(它总是

我的小问题是:我需要从一个表中选择一个字段,通过Id字段进行过滤

在SQL中,我只想这样写:

SELECT Field FROM {Table} WHERE Id = 1
表名是可变的

考虑到表名可能会有所不同,如何使用EF Core 3.1执行这个非常简单的查询

我已经试过了

context.Database.ExecuteSqlCommand($"SELECT TOP 1 Field FROM {table} WHERE Id={id}") 
但我无法读取结果(它总是返回-1)

我也试过:

var test  = context.Set<T>()
    .FromSqlRaw($"SELECT Id FROM {table}")
    .FirstOrDefault();
var test=context.Set()
.FromSqlRaw($“从{table}中选择Id”)
.FirstOrDefault();
但是给我一个错误,因为它需要select语句中的所有字段

谢谢你的支持