C# Dapper UPPER 函数

Ahm*_*çal 1 dapper

我正在使用 Dapper C# .Net Core 6.0 MVC

询问 ;

 var query = $"SELECT d.Id,d.CityId,d.CountryId,UPPER(d.Name) FROM District as d INNER JOIN City as c ON d.CityId = c.Id Where c.Id={Convert.ToInt32(id)}";
 var result = conn.Query<CityDto>(query).ToList();
Run Code Online (Sandbox Code Playgroud)

数据获取但d.Name值为空

当我在 SQL Server 中执行它时它起作用

我的错误在哪里?

Mar*_*ell 5

Dapper 关心列名,并且UPPER(d.Name)是匿名列;考虑使用as该列的别名:

var result = conn.Query<CityDto>(@"
SELECT d.Id, d.CityId, d.CountryId, UPPER(d.Name) as [Name]
FROM District as d
INNER JOIN City as c ON d.CityId = c.Id
Where c.Id=@id", new { id }).AsList();
Run Code Online (Sandbox Code Playgroud)

注意我还修复了参数的用法。