Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从动态/编程命名的列名中获取字段,并使用EF求和_C#_Entity Framework_Entity Framework 6_C# 5.0 - Fatal编程技术网

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

C# 从动态/编程命名的列名中获取字段,并使用EF求和,c#,entity-framework,entity-framework-6,c#-5.0,C#,Entity Framework,Entity Framework 6,C# 5.0,今天我在这里做了: 我引用它是因为这个问题与它非常相似 我想从特定列中获取所有int值,求和并返回值。。。 我该怎么做 例如: string column_name = "Col1"; int meterID = 6; 作为旧方法:“如果您有一个类,请从MeterID=MeterID;的表名中选择SUM(列名)” public class TableName { public int MeterId { get; set; } public int ColumnName {

今天我在这里做了:

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

我想从特定列中获取所有int值,求和并返回值。。。 我该怎么做

例如:

string column_name = "Col1";
int meterID = 6;
作为旧方法:“如果您有一个类,请从MeterID=MeterID;的表名中选择SUM(列名)”

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

    public int ColumnName { get; set; }
}
DbContext

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

“例子”是什么意思?你试过什么?我想用EF求一列数据的和。我想用变量指定列名。这就是我想要做的。tSQL是一个需要理解的老例子。我想用EF来做。谢谢当您可以使用lambda时,为什么要使用变量指定列?lambda是什么?我没有InfoThank的回复,但是这个方法对我来说很简单:你也能给出一个这个方法的例子吗?这在实体框架中是不可能的,你不能使用反射来创建这样的查询。EF看到的是
.Where().Sum()
部分,然后它会将其转换为SQL来查询数据库。另一种选择是使用常规的SQL查询,但是EF的全部用途都不复存在了。
public int GetSum(int meterId)
{
    return context.TableName.Where(x => x.MeterId == meterId).Sum(x => x.ColumnName);
}