使用 EF 核心列属性重命名的连接表不会输出预期的 SQL

问题描述 投票:0回答:1

使用命名约定不佳的遗留数据优先应用程序。我的 SQL 输出不是我所期望的。我正在尝试加入并从 CupsName 表中获取“CupsName”又名名称,但它映射到 CupsNameId

伪代码

 public class CupsName
        {
            public virtual int CupsNameId{ get; set; }

            [Column("CupsName", Order = 2, TypeName = "varchar(max)")]
            public  string Name{ get;}
        }


  var items = await (from c in Context.Cups
                join f in Context.CupsName on c.CupsNameId equals f.CupsNameId
                where c.CupsId == filter.cupsId
                select new Basket
                {
                    CupId = c.CupsId,
                    CupsName= f.Name
                }).ToListAsync

Produces: 
"SELECT [l].[CupsId],
       [l0].[CupsNameId], --This i'm expecting to be Name
"

entity-framework core
1个回答
0
投票

我改用方法语法而不是查询语法来进行修复。不知道为什么两者之间的工作方式不同。希望比我聪明的人能解释一下。

谢谢

© www.soinside.com 2019 - 2024. All rights reserved.