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

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

返回匿名類型結(jié)果?

返回匿名類型結(jié)果?

C#
四季花海 2019-06-18 16:44:58
返回匿名類型結(jié)果?使用下面的簡(jiǎn)單示例,使用Linq返回多個(gè)表的結(jié)果到SQL的最佳方法是什么?假設(shè)我有兩張桌子:Dogs:   Name, Age, BreedIdBreeds: BreedId, BreedName我想把所有的狗都送回去BreedName..我應(yīng)該讓所有的狗使用這樣的東西沒(méi)有問(wèn)題:public IQueryable<Dog> GetDogs(){     var db = new DogDataContext(ConnectString);     var result = from d in db.Dogs                  join b in db.Breeds on d.BreedId equals b.BreedId                  select d;     return result;}但是如果我想要有品種的狗并且嘗試這個(gè),我就有問(wèn)題了:public IQueryable<Dog> GetDogsWithBreedNames(){     var db = new DogDataContext(ConnectString);     var result = from d in db.Dogs                  join b in db.Breeds on d.BreedId equals b.BreedId                  select new                         {                             Name = d.Name,                             BreedName = b.BreedName                         };     return result;}現(xiàn)在我意識(shí)到編譯器不會(huì)讓我返回一組匿名類型,因?yàn)樗谕鸇ogs,但是有什么方法可以不需要?jiǎng)?chuàng)建自定義類型而返回呢?還是我必須創(chuàng)建自己的類DogsWithBreedNames并在SELECT中指定該類型?或者還有更簡(jiǎn)單的方法?
查看完整描述

3 回答

?
慕后森

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

你,你們能,會(huì),可以返回匿名類型,但它真的不漂亮.

在這種情況下,我認(rèn)為創(chuàng)建適當(dāng)?shù)念愋鸵玫枚?。如果它只在包含該方法的類型中使用,則將其設(shè)置為嵌套類型。

就我個(gè)人而言,我希望C#能得到“命名匿名類型”-即與匿名類型相同的行為,但是具有名稱和屬性聲明,但僅此而已。

編輯:其他人建議返回狗,然后通過(guò)屬性路徑等訪問(wèn)品種名稱。這是一種非常合理的方法,但I(xiàn)ME會(huì)導(dǎo)致這樣的情況:由于您想要使用的數(shù)據(jù)-以及當(dāng)您返回時(shí)丟失了該元信息-您已經(jīng)以特定的方式進(jìn)行了查詢。IEnumerable<Dog>-查詢可能是期待你要用(比如說(shuō))Breed而不是Owner由于一些加載選項(xiàng)等,但如果您忘記了這一點(diǎn),并開(kāi)始使用其他屬性,您的應(yīng)用程序可能工作,但沒(méi)有你最初設(shè)想的那么高效。當(dāng)然,我可能是在胡說(shuō)八道,或者過(guò)于樂(lè)觀,等等.


查看完整回答
反對(duì) 回復(fù) 2019-06-18
  • 3 回答
  • 0 關(guān)注
  • 655 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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