我正在使用QueryMultiple
阅读3部分查询。我的问题是第一个Read<T>
我需要将查询拆分为12个不同的类,Dapper不支持我所能看到的。在我使用QueryMultiple
之前,我的查询只是一个部分,我使用此示例Using Dapper to map more than 5 types中的方法来获取12个不同的类。我的问题是,如何将第一个Read<T>
分成十二个类,然后继续GridReader
?请注意我无法创建一个大查询。
public static IEnumerable<TReturn> Query<TReturn>(this IDbConnection cnn, string sql, Type[] types, Func<object[], TReturn> map, dynamic param = null, IDbTransaction transaction = null, bool buffered = true, string splitOn = "Id", int? commandTimeout = null, CommandType? commandType = null);
更新 我测试了我添加到Dapper文件中的这个方法并且它有效,但我只引用了DLL而不是我的应用程序中的实际文件,所以我不知道如何在不从github接收Dapper文件的情况下添加它。我希望有内置的支持我想要的东西,我只是错过了代码中的某个地方。谢谢你的帮助。
public IEnumerable<TReturn> Read<TReturn>(Type[] types, Func<object[], TReturn> func, string splitOn = "id", bool buffered = true)
{
var identity = this.identity.ForGrid(typeof(TReturn), types, gridIndex);
try
{
foreach (var r in SqlMapper.MultiMapImpl<TReturn>(null, default(CommandDefinition), types, func, splitOn, reader, identity, false))
{
yield return r;
}
}
finally
{
NextResult();
}
}
答案 0 :(得分:0)
当我要添加一个拉取请求时,我注意到有人比我领先一步。似乎此功能目前不包含在Dapper中。