繁体   English   中英

在LINQ语句中包括来自外部表的值

[英]Including values from external table in a LINQ statement

我想为以下SQL查询编写LINQ查询:

    SELECT A.ID
    FROM TABLE_1 A, TABLE_2 B
    WHERE A.ID = B.ID
    AND B.STATEID IN (SELECT C.STATEID FROM STATE C WHERE C.REGIONID = 1)

为此,我设法进行以下查询:

    var var1 = (from a in db.table_1
                join b in db.table_2
                on a.Id equals b.Id
                where b.stateid = 
                select new
                {
                   a.Id
                }).ToList();)

在这里,我如何包含RegionId1的所有StateID以获得必要的输出。

您等效的Linq查询将是:

var result = (from a in db.table_1
              from b in db.table_2 
               where a.Id == b.Id
               && db.State.Any(c=>c.REGIONID  == 1 && b.StateId == c.StateId) 
                select new
                {
                   a.Id
                }).ToList();

您可以使用任何 :-

where db.States.Any(x => x.RegionId == 1 &&  x.StateId == b.StateId)
select...

你可以试试看

var var1 = (from a in db.table_1
            join b in db.table_2
            on a.Id equals b.Id
            where db.State.Any(c=> c.RegionId == 1 && c.StateId == b.StateId)
            select new
            {
               a.Id
            }).ToList();)

尝试这个,

var var1 = (from a in db.table_1
                join b in db.table_2
                on a.Id equals b.Id
                where (db.State.Where(x => x.RegionId == 1).Select(x => 
                       x.StateId)).Contains(b.Id)
                select new
                {
                   a.Id
                }).ToList();)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM