如何在基于linq方法的查询中为列名使用别名?

ars1skjm  于 2022-12-06  发布在  其他
关注(0)|答案(1)|浏览(221)

我有两张表:

    • Table1**包含列:
  • 标识(内部、PK)
  • 国家标识(整数,FK至表2)

还有其他一些

    • 表2**包含列:
  • 标识(内部、PK)
  • 名称(导航字符)

还有其他一些
我需要使用基于linq方法的查询发出请求,类似于下面的sql查询:

SELECT 
    *,
    [Table2].[Name] AS [Country]

FROM  [dbo].[Table1]
INNER JOIN [dbo].[Table2]
ON [Table1].[CountryId] = [Table2].[Id]

我试过这个:

db.Table1.Join(db.Table2, s => s.CountryId, c => Id, (s, c) => new {s, Country = c.Name });

它工作,但在结果表中,我有一个列与国家的名称标记为"名称",但不是"国家"。
在这种情况下,如何在基于linq方法的查询中使用列名别名?

slhcrj9b

slhcrj9b1#

试下面

var results = from tbl1 in db.Table1
                join tbl2 in db.Table2 on tbl1.CountryId = tbl2.Id
                select new {
                            Id = tbl2.Id,
                            ..  // other columns from Table1
                            ..  // other columns from Table1
                            Country = tbl2.Name
                            };

相关问题