小巧玲珑,从方法参数传递参数查询Where子句
问题描述:
我刚开始看起来小巧玲珑的目标对.NET核心,但我在与下面的查询问题,小巧玲珑,从方法参数传递参数查询Where子句
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;
的方法是在上述位于它接受一个字符串类型的单个参数“代码”。我只需要将“代码”的方法值传递给我的查询。通常我只会做一些像
WHERE u.Code = @0, 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"
);
请使用您的问题编辑链接添加额外的信息。后回答按钮应该只用于问题的完整答案。 - [来自评论](/评论/低质量帖/ 15807230) – thanksd
@thanksd它似乎是一个解决方案,为什么downvote? – VMAtm
@VMAtm idk。不是我 – thanksd