从动态/编程命名的列名中获取字段,并使用EF求和

本文关键字:字段 求和 EF 获取 动态 编程 | 更新日期: 2023-09-27 17:50:11

今天我在这里做了:使用实体框架

从动态/编程命名的列名中获取字段

我引用它是因为这个问题与它非常相似。

我想从特定列中获取所有int值并将它们相加并返回值…我该怎么做呢?

例如

:

string column_name = "Col1";
int meterID = 6;

As old method: "SELECT SUM(column_name) FROM table_name Where MeterID = MeterID ;"

从动态/编程命名的列名中获取字段,并使用EF求和

如果你有一个class

public class TableName
{
    public int MeterId { get; set; }
    public int ColumnName { get; set; }
}

DbContext

public class MyDbContext : DbContext
{
    public IDbSet<TableName> TableName { get; set; }
}

可以通过执行

来生成给定的查询
public int GetSum(int meterId)
{
    return context.TableName.Where(x => x.MeterId == meterId).Sum(x => x.ColumnName);
}