簡體   English   中英

Linq:一個匿名類型不能有多個同名的屬性

[英]Linq: An anonymous type cannot have multiple properties with the same name

我如何在 linq 表達式中使用同名的 GroupBy?,我有以下代碼從多個實體獲取數據。 我有 RP 和 SubParty 表都有一個名稱字段,我想同時顯示這兩個表,但 linq 給我以下錯誤

一個匿名類型不能有多個同名的屬性

var rp = await context.RP.AsNoTracking()
        .Include(rp => rp.SubPartyNav)
        .Include(rp => rp.partyNav)
        .Where(rp => rp.ProductID == request.ID)
        .GroupBy(rpSp => new
        {
                rpSp.partyNav.PartyName,
                rpSp.SubPartyNav.PartyNav.PartyName })
        .Select(r => new RspDTO
        {
                PartyName = r.Key.PartyName,
                SubPartyName = r.Key.PartyName, })
        .ToListAsync();

只需明確給出屬性名稱:

        .GroupBy(rpSp => new
        {
                PartyName = rpSp.partyNav.PartyName,
                SubPartyName = rpSp.SubPartyNav.PartyNav.PartyName })
        .Select(r => new RspDTO
        {
                PartyName = r.Key.PartyName,
                SubPartyName = r.Key.SubPartyName, })

此外,它看起來更像是你想要.Distinct()而不是.GroupBy() ,因為你只使用組鍵:

        .Select(rpSp => new
        {
                PartyName = rpSp.partyNav.PartyName,
                SubPartyName = rpSp.SubPartyNav.PartyNav.PartyName })
        .Distinct()
        .Select(r => new RspDTO
        {
                PartyName = r.PartyName,
                SubPartyName = r.SubPartyName, })

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM