几种常见复合sql查询语句的linq写法
发布网友
发布时间:2022-04-07 19:50
我来回答
共1个回答
热心网友
时间:2022-04-07 21:19
1.IN 语句
尝试了很多次,好象linq死活不生成in语句,无奈只能做了下变换
例,要找出手机大类以及手机下属所有子类的产品 (手机大类的ID为D0C37275-2279-4590-A679-C65A4F28918F)
效果上等效于或linq to sql的等效写法:或varquery=frompindb.T_Proctsjoincindb.T_Classesonp.F_CLSIDequalsc.F_IDwhere
c.F_ID==newGuid(
D0C37275-2279-4590-A679-C65A4F28918F)||
c.F_ParentIDStr.Contains(
D0C37275-2279-4590-A679-C65A4F28918F)selectnew
{p.F_ID,p.F_Name};varquery=frompindb.T_Proctsfromcindb.T_Classeswhere
p.F_CLSID==
c.F_ID&&(c.F_ID==newGuid(
D0C37275-2279-4590-A679-C65A4F28918F)||
c.F_ParentIDStr.Contains(
D0C37275-2279-4590-A679-C65A4F28918F))selectnew
{p.F_ID,p.F_Name};Select
P.F_ID,P.F_Name,P.F_ClsIDFromT_ProctAs
P,T_ClassAsCwhere
P.F_ClSID=
C.F_IDAnd(
C.F_ID='D0C37275-2279-4590-A679-C65A4F28918F'OR
C.F_ParentIdStrlike'%D0C37275-2279-4590-A679-C65A4F28918F%')Select
P.F_ID,P.F_Name,P.F_ClsIDFromT_ProctAsPInnerJoinT_ClassAsCOn
C.F_ID=
P.F_CLSIDwhere