我刚刚开始寻找针对.Net Core的Dapper,但我遇到了以下问题的问题,
string query = @"
SELECT u.*, a.* FROM [System].[UnLocation] u
INNER JOIN [Declaration].[AirTransportZone] a ON [u].[AirTransportZoneID] =
[a].[AirTransportZoneID]
WHERE u.Code = @0 ";
IUnLocationData domain = new UnLocationData();
IQueryable<UnLocationData> data = m_DbConnection.Query<UnLocationData, AirTransportZoneData, UnLocationData>(
query,
(u, a) =>
{
u.AirTransportZone = a;
return u;
},
splitOn: "AirTransportZoneID"
).AsQueryable();
domain.InjectFrom(data);
return domain;
上面是一个方法,它采用一个参数&#34; code&#34;类型字符串。我只需要传递&#34; code&#34;的方法值。进入我的查询。通常我会做类似
的事情WHERE u.Code = @0, code
然而,在我的查询变量(查询,代码...)之后添加另一个参数不起作用。
答案 0 :(得分:-1)
我的解决方案结果是相当直接的。这是在Query函数上添加另一个参数的简单例子:
新{Code = code}
string query = @"
SELECT u.*, a.* FROM [System].[UnLocation] u
INNER JOIN [Declaration].[AirTransportZone] a ON [u].[AirTransportZoneID] =
[a].[AirTransportZoneID]
WHERE u.Code = @Code";
IUnLocationData domain = new UnLocationData();
IEnumerable<UnLocationData> data = m_DbConnection.Query<UnLocationData, AirTransportZoneData, UnLocationData>(
query, (u, a) =>
{
u.AirTransportZone = a;
return u;
},
new { Code = code }, splitOn: "AirTransportZoneID"
);