从动态/编程命名的列名称获取字段,使用EF获取Sum

时间:2014-03-13 15:21:43

标签: c# entity-framework entity-framework-6 c#-5.0

今天我在这里完成了: Get field from dynamically/programatically named column name with Entity Framework

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

我想从特定列获取所有int值并将它们相加并返回值... 我怎么能这样做?

例如:

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

旧方法:" SELECT SUM( column_name )FROM table_name其中MeterID = meterID ;"

1 个答案:

答案 0 :(得分:2)

如果你有一个班级

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);
}