簡體   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