Sql 如何在c中加入linq?
如何将sql转换为system.linqSql 如何在c中加入linq?,sql,linq,Sql,Linq,如何将sql转换为system.linq Select top 100 percent s.a,s.b,s.c,s.d From table a as s, table b as x Where s.a=x.a and s.b=x.b and s.c=x.c Group by s.a,s.b,s.c,s.d 根据我对你问题的理解;似乎您想在c中获取数据并进行连接。如果是,则您可以执行以下操作: public class tabData { public strin
Select top 100 percent s.a,s.b,s.c,s.d
From table a as s, table b as x
Where
s.a=x.a and s.b=x.b and s.c=x.c
Group by
s.a,s.b,s.c,s.d
根据我对你问题的理解;似乎您想在c中获取数据并进行连接。如果是,则您可以执行以下操作:
public class tabData
{
public string a {get;set;}
public string b {get;set;}
public string c {get;set;}
public string d {get;set;}
}
List<tabData> tabA = {data of your table a}
List<tabData> tabB = {data of your table b}
var result = from r1 in tabA
join r2 in tabB on new {T1 = r1.a, T2 = r1.b, T3 = r1.c} equals new {T1 = r2.a, T2 = r2.b, T3 = r2.c}
group r1 by new
{
aa = r1.a,
bb = r1.b,
cc = r1.c,
dd = r1.d
} into g
select new
{
a = g.key.aa,
b = g.key.bb,
c = g.key.cc,
d = g.key.dd
}
根据我对你问题的理解;似乎您想在c中获取数据并进行连接。如果是,则您可以执行以下操作:
public class tabData
{
public string a {get;set;}
public string b {get;set;}
public string c {get;set;}
public string d {get;set;}
}
List<tabData> tabA = {data of your table a}
List<tabData> tabB = {data of your table b}
var result = from r1 in tabA
join r2 in tabB on new {T1 = r1.a, T2 = r1.b, T3 = r1.c} equals new {T1 = r2.a, T2 = r2.b, T3 = r2.c}
group r1 by new
{
aa = r1.a,
bb = r1.b,
cc = r1.c,
dd = r1.d
} into g
select new
{
a = g.key.aa,
b = g.key.bb,
c = g.key.cc,
d = g.key.dd
}
我认为您正在询问如何像在sql中一样加入linq,如果是这样,请参见以下内容:
var query =
from abc in tbl1
join def in tbl2 on tbl1.PK equals tbl2.FK
select new { ABC = abc, DEF = def };
我认为您正在询问如何像在sql中一样加入linq,如果是这样,请参见以下内容:
var query =
from abc in tbl1
join def in tbl2 on tbl1.PK equals tbl2.FK
select new { ABC = abc, DEF = def };
你有一个没有聚合的groupby?@magnus a.k.a DISTINCT,可能是因为连接产生笛卡尔积。修复连接将是首选的任何为什么顶部100%?这和所有的问题不一样吗?老实说,我不敢相信,有了这样一个问题标题,SO自己搜索类似问题时不会发现类似的东西或一堆类似的骗局@用户12139660请告诉我们到目前为止您尝试了哪些没有成功work@CaiusJard我不相信任何linq to sql提供程序都会支持t top 100%,这就是我为什么要问的原因。你有一个没有聚合的group by吗?@magnus a.k.a DISTINCT,可能是因为连接导致笛卡尔积。修复连接将是首选的任何为什么顶部100%?这和所有的问题不一样吗?老实说,我不敢相信,有了这样一个问题标题,SO自己搜索类似问题时不会发现类似的东西或一堆类似的骗局@用户12139660请告诉我们到目前为止您尝试了哪些没有成功work@CaiusJard我不相信有一个等同于t top 100%受任何LINQtoSQL提供商支持的版本,这就是我为什么要问的原因。