第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

SQL IN 運(yùn)算符到 LINQ

SQL IN 運(yùn)算符到 LINQ

C#
小怪獸愛吃肉 2023-07-23 14:23:43
我需要將此查詢轉(zhuǎn)換為 Linq 查詢SELECT DISTINCT (pf.Id)FROM    PF pf    LEFT JOIN FA fa on pf.id = fa.PFId    LEFT JOIN Fan f ON pf.FId = f.IdWHERE  pf.PId=2 AND fa.AId IN (1,26) AND fa.AId NOT IN(27)這是我到目前為止所要求的 LINQ 查詢var allFansSavedAsLeads =  _dbContext.PF                           .Where(e => e.F.S != null &&                           e.A.Any(x => x.AId==27 &&                            x.AId.Equals(1) /*&&                            x.AId != 27*/) &&                            e.PId == pId);我用這個(gè)得到零結(jié)果。
查看完整描述

3 回答

?
楊__羊羊

TA貢獻(xiàn)1943條經(jīng)驗(yàn) 獲得超7個(gè)贊

我建議您創(chuàng)建兩個(gè) Id 列表,分別代表可以包含的活動(dòng)和需要排除的活動(dòng)。像下面這樣使用它們:

List<int> IncludedIds = new List<int>(){1,26};
List<int> ExcludedIds = new List<int>(){27};
_dbContext.ProfileFans.Where(e => e.Fan.SNUrl != null && 
                             e.Activities.Any(x => IncludedIds.Any(x.ActivityId) && 
                                                   !ExcludedIds.Any(x.ActivityId) && 
                                                   e.ProfileId == profileId);

請(qǐng)注意:我使用的List<int>是因?yàn)榻o定的示例,您必須根據(jù)數(shù)據(jù)類型創(chuàng)建列表ActivityId


查看完整回答
反對(duì) 回復(fù) 2023-07-23
?
森林海

TA貢獻(xiàn)2011條經(jīng)驗(yàn) 獲得超2個(gè)贊

您不需要白名單和黑名單。要么是其中之一,要么是另一個(gè)。所以我正在制定一個(gè)白名單。如果允許的ActivityId是1或者26,那么根據(jù)定義它肯定不是27,所以沒有必要嘗試排除它。我正在使用int[]而不是List<int>考慮到白名單可能是靜態(tài)的,但List<int>如果您想動(dòng)態(tài)修改它,請(qǐng)隨意將其更改為 a 。

int[] whiteList = { 1, 26 };
var allFansSavedAsLeads = _dbContext.ProfileFans.Where(pf =>
    pf.Fan.SNUrl.HasValue &&
    pf.Activities.Any(fa => whiteList.Contains(fa.ActivityId)));

如果您也想要 JOIN,您可能需要查看.Include(),但從您最初的 SQL 查詢來看,您似乎實(shí)際上并不需要連接表的內(nèi)容。


查看完整回答
反對(duì) 回復(fù) 2023-07-23
?
狐的傳說

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個(gè)贊

您可以創(chuàng)建一個(gè)臨時(shí)ActivityListAS

var?List<int>?ActivityList?=?new?List<int>()?{1,?26}

并使用類似的東西

ActivityList.Contains(x?=>?x.ActivityId)
查看完整回答
反對(duì) 回復(fù) 2023-07-23
  • 3 回答
  • 0 關(guān)注
  • 219 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)