Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.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# 如何为不重复的年度创建Linq查询仅返回年度总和?_C#_Sql Server_Linq_C# 4.0_Datatable - Fatal编程技术网

C# 如何为不重复的年度创建Linq查询仅返回年度总和?

C# 如何为不重复的年度创建Linq查询仅返回年度总和?,c#,sql-server,linq,c#-4.0,datatable,C#,Sql Server,Linq,C# 4.0,Datatable,问题 如何创建Linq查询以仅返回不重复的年度的年度总和 我只需要返回158 如果一行选择一行,我需要从每个重复的行中获得不同的年度数据 我需要将这个SQL查询作为linq返回和作为158 string sql = "select sum(Annual)from(select distinct(Annual) from View_MembersWithPriceList where (NonActive=0) AND ( RelatedMemberCode='" + MemberCode + "

问题

如何创建Linq查询以仅返回不重复的年度的年度总和

我只需要返回158

如果一行选择一行,我需要从每个重复的行中获得不同的年度数据

我需要将这个SQL查询作为linq返回和作为158

string sql = "select sum(Annual)from(select distinct(Annual) from View_MembersWithPriceList where (NonActive=0) AND ( RelatedMemberCode='" + MemberCode + "' OR MemberCode='" + MemberCode + "') AND ( Year = " + txtYear.Text + ")" + ")a";

MemberCode      Annual   RelatedMemberCode Year  NonActive
6625             108       Null            2018    0
6626             108       6625            2018    0 
6627             108       6625            2018    0
6628             50        6625            2018    0
6629             50        6625            2018    0
我已经将dt作为数据表

MemberCode      Annual   RelatedMemberCode Year  NonActive
MemberCode
是整数
年度
十进制
RelatedMemberCode
为整数
非活动
为位
年份
为整数

我只需要返回158作为sum,意思是返回一个值


我需要将sql语句返回到linq

您可能应该使用参数化查询来避免sql注入。我看到了txtbox.text,所以它不仅仅是内部的。而且,我认为您正在尝试在不进行转换的情况下将数字连接到字符串。MemberCode.ToString()就足够了。您使用EntityFramework吗?不,我使用Ado.NetW“我需要将sql语句返回到linq”是什么意思?也许我的朋友能帮你?
string sql = "select sum(Annual)from(select distinct(Annual) from View_MembersWithPriceList where (NonActive=0) AND ( RelatedMemberCode='" + MemberCode + "' OR MemberCode='" + MemberCode + "') AND ( Year = " + txtYear.Text + ")" + ")a";