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

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

EF:包括WHERE子句

EF:包括WHERE子句

慕容3067478 2019-06-06 10:42:00
EF:包括WHERE子句正如標(biāo)題所暗示的那樣,我正在尋找一種方法,將WHERE子句與包含結(jié)合在一起。下面是我的情況:我負(fù)責(zé)支持一個(gè)充滿代碼氣味的大型應(yīng)用程序。更改太多的代碼會(huì)在任何地方導(dǎo)致錯(cuò)誤,所以我正在尋找最安全的解決方案。假設(shè)我有一個(gè)對(duì)象總線和一個(gè)對(duì)象人員(總線有一個(gè)導(dǎo)航支柱集合人員)。在我的查詢中,我需要選擇所有的巴斯,只有乘客是清醒的。這是一個(gè)簡單的虛擬示例。在現(xiàn)行守則中:var busses = Context.Busses.Where(b=>b.IsDriving == true);foreach(var bus in busses){    var passengers = Context.People.Where(p=>p.BusId == bus.Id && p.Awake == true);    foreach(var person in passengers)    {        bus.Passengers.Add(person);    }}在此代碼之后,上下文被釋放,在調(diào)用方法中,生成的總線實(shí)體被映射到DTO類(實(shí)體的100%副本)。這段代碼會(huì)導(dǎo)致對(duì)DB的多次調(diào)用,這是一個(gè)No-go,所以我找到了這個(gè)解決方案MSDN博客這在調(diào)試結(jié)果時(shí)非常有效,但是當(dāng)實(shí)體映射到DTO(使用AutoMapper)時(shí),我得到一個(gè)異常,即上下文/連接已經(jīng)關(guān)閉,對(duì)象無法加載。(上下文總是關(guān)閉的,不能更改以下內(nèi)容:()因此,我需要確保選定的乘客已經(jīng)加載(IsLoedonNavigationProperty也是假的)。如果我檢查乘客集合,計(jì)數(shù)也會(huì)拋出異常,但是在PASSECKER集合上也有一個(gè)稱為“包裝相關(guān)實(shí)體”的集合,其中包含我過濾過的對(duì)象。是否有方法將這些包裝好的相關(guān)實(shí)體加載到整個(gè)集合中?(我不能更改Automapper映射配置,因?yàn)檫@在整個(gè)應(yīng)用程序中使用)。還有別的方法可以讓那些活躍的乘客嗎?任何暗示都是歡迎的.。編輯格特·阿諾德(GertArnold)的回答不起作用,因?yàn)閿?shù)據(jù)沒有急切地加載。但是當(dāng)我簡化它并刪除加載它的位置時(shí)。這確實(shí)很奇怪,因?yàn)閳?zhí)行SQL在這兩種情況下都返回所有乘客。因此,當(dāng)將結(jié)果返回到實(shí)體中時(shí),一定會(huì)出現(xiàn)問題。Context.Configuration.LazyLoadingEnabled = false;var buses = Context.Busses.Where(b => b.IsDriving)         .Select(b => new                       {                           b,                          Passengers = b.Passengers                      })         .ToList()         .Select(x => x.b)         .ToList();編輯2經(jīng)過很大的努力,格特·阿諾德的作品得到了答案!正如格特·阿諾德(GertArnold)建議的那樣,你需要禁用延遲加載,并將其關(guān)閉這將要求對(duì)appliaction進(jìn)行一些額外的更改,因?yàn)閜rev開發(fā)人員喜歡Lazy加載-_-
查看完整描述

2 回答

  • 2 回答
  • 0 關(guān)注
  • 2129 瀏覽

添加回答

舉報(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)