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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Linq - 在不影響父行數(shù)的情況下過濾子列表<object>

Linq - 在不影響父行數(shù)的情況下過濾子列表<object>

C#
米琪卡哇伊 2022-11-22 16:32:54
我有一個場景,我需要過濾包含在父問題中的子list<object> ResponseIssues ,它也是一個. 對于這個例子,我有 10 個問題要從表中撤回,無論是否有 ResponseIssues,我總是需要撤回這些問題。 list<object>我的查詢似乎有幾個問題。第一個問題是問題的數(shù)量從10 變?yōu)?1,因為我目前只有一個與ResponseIssues相關(guān)的問題。我需要所有問題回來。第二個問題是,當(dāng)我仔細(xì)觀察ResponseIssues child時list<object>。當(dāng)我看到與問題相關(guān)的記錄時,它不會按SuveryPeriod和RespondentByQuarterId過濾掉行。我期待一行,我得到三行,其中兩行來自上一時期。Responses 子列表也會出現(xiàn)同樣的問題。下面是我當(dāng)前的代碼。關(guān)于如何在考慮上述問題的情況下重組查詢并返回 Questions 對象而不是匿名對象的任何想法?var question = await _dbContext.Questions                 .Include(x => x.Responses)                 .Include(x => x.ResponseIssues)                 .Include(x => x.SurveySection)                 .Include(x => x.Survey)                 .Where(x => x.SurveyId == surveyId &&                             x.Responses.Any(r => r.SiteUserId == siteUserId &&                                                  r.SurveyPeriodId == surveyPeriodId &&                                                  r.RespondentByQuarterId == 2                                            ) &&                                             x.ResponseIssues.Any(ri => ri.SurveyPeriodId == surveyPeriodId &&                                                                         ri.RespondentByQuarterId == 2                                           ))                 .OrderBy(x => x.Position)                 .ToListAsync();
查看完整描述

1 回答

?
慕的地10843

TA貢獻(xiàn)1785條經(jīng)驗 獲得超8個贊

我能夠通過將其分解為三個獨立的查詢而不是一個查詢來完成上述操作。我仍然很想知道社區(qū)中是否有人有辦法將其作為一個查詢來完成。


不管怎樣,下面是我的代碼。我能夠使用 Responses 和 ResponseIssues 的正確行數(shù)更新 Questions Parent,并返回所有問題。


var question = await _dbContext.Questions

                                .Include(x => x.SurveySection)

                                .Include(x => x.Survey)

                                .Where(x => x.SurveyId == surveyId)

                                .OrderBy(x => x.Position)

                                                  .ToListAsync();


var responses = await _dbContext.Responses

                                .Where(x => x.SiteUserId == siteUserId &&

                                            x.SurveyPeriodId == surveyPeriodId)

                                .ToListAsync();


var responseIssues = await _dbContext.ResponseIssues

                                .Where(x => x.SurveyPeriodId == surveyPeriodId &&

                                            x.SiteUserId == siteUserId)

                                .ToListAsync();



foreach (var item in question)

{

    var foundResponse = responses.Where(x => x.QuestionId == item.Id).ToList();

    var foundResponseIssue = responseIssues.Where(x => x.QuestionId == item.Id).ToList();


    if (foundResponse != null)

    {

        item.Responses = foundResponse;

    }


    if (foundResponseIssue != null)

    {

        item.ResponseIssues = foundResponseIssue;

    }

}


查看完整回答
反對 回復(fù) 2022-11-22
  • 1 回答
  • 0 關(guān)注
  • 97 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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