使用 C# 从 SQL Server 中的 dbContext 访问给定表的给定字段

本文关键字:字段 访问 dbContext SQL Server 中的 使用 | 更新日期: 2023-09-27 18:36:56

我想从数据库中使用 LINQ 到 C# 中实体框架中的实体中选择一行。

我对方法的论据是:

  • 字符串数据库上下文
  • 字符串表名
  • 字符串字段名称/列

我想根据这三个参数动态选择表"表名"中的行,其中"字段名称"与某个值匹配。

使用 C# 从 SQL Server 中的 dbContext 访问给定表的给定字段

您不需要实体框架来执行类似的事情,您可以使用 dbContext 中提供的帮助程序方法来执行自定义查询:

  public List<T> ListElements(string tableName, string columnName) {
    var db = new DbContext();
    var query = string.Format("SELECT {0} FROM {1}", tableName, columnName);
    var data = db.Database.SqlQuery<T>(query);
    return data;
  }

可以使用此方法将项目列出到具有特定类型的表中。假设你想要显示一个名为"Users"的表的所有ID,你可以编写以下代码:

var userIds = ListElements<int>("Users", "Id");