1

我有这个SQL

select * from ADDRESSES where ZIPCODE ='66210'and ADDRESS_K in 
       (select ADDRESS_K from GROUPADDRESS where GROUP_K in 
       (select GROUP_K from GROUPS where NPI = 'groupnpi' and TAXID = 'grouptin') 
        and ADDRESSTYPE_RTK = '_REI0PVM65')

我想重写它LINQ

有人可以帮助将其转换为LINQ吗?这是我所能得到的。

4

2 回答 2

3

这没有经过测试,但应该会给您一个良好的开端(这有助于您如何使用 LINQ to SQL 处理 IN 子查询?

var innerInnerQuery = from g in GROUPS
                      where NPI == "roupnpi" 
                          && TAXID == "grouptin"
                          && ADDRESSTYPE_RTK == "_REI0PVM65"
                      select g.GROUP_K;
var innerQuery = from ga in GROUPADDRESS
                 where innerInnerQuery.Contains(ga.GROUP_K)
                 select ga.ADDRESS_K;
var query = from a in ADDRESSES
            where ZIPCODE == "66210"
                && innerQuery.Contains(a.ADDRESS_K)
            select a;
于 2014-08-05T21:59:50.503 回答
1

这就是我能想到的......如果它有效,请告诉我

var innerQuery = from Group_K in GroupAddress
                  where Group_K ==
                         (
                              from iq in Groups
                              where iq.NPI.Contains("groupnpi")
                              where iq.TAXID == "grouptin"
                              where iq.ADDRESSTYPE_RTK == "REI0PVM65"
                              select iq.NPI
                         )
                         select Group_K.Address_K;

        var result = from a in addresses
                     where a.ZipCode.Contains("groupnpi")
                     where a == innerQuery
                     select a;
于 2014-08-05T22:37:07.783 回答