我正在使用 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 中执行它时它起作用
我的错误在哪里?
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)
注意我还修复了参数的用法。