【发布时间】:2023-01-20 18:10:55
【问题描述】:
我有一个通用的 dapper 函数,使用 dapper 的 QueryAsync 获取 list<model>
该功能如下所示
public async Task<object> QueryAsync(string spName, DynamicParameters p)
{
return await Task.Run(async () =>
{
object obj = new object();
IList objectList = obj as IList;
using (SqlConnection conn = new SqlConnection(_connStr))
{
try
{
conn.Open();
obj = (List<object>)await conn.QueryAsync<object>(sql: spName, param: p, commandType: CommandType.StoredProcedure);
}
catch (Exception ex)
{
Utils.Logger.Instance.LogException(ex);
}
conn.Close();
}
return obj;
});
}
现在我从我的 businessLogic 层调用这个方法,如下所示
public async Task<List<GetTemplates>> GetDocTemplates(string TemplateName, int AccountId)
{
_Parameters.Add("@SP_TemplateName", TemplateName, dbType: DbType.String, direction: ParameterDirection.Input);
_Parameters.Add("@SP_AccountId", AccountId, dbType: DbType.Int32, direction: ParameterDirection.Input);
return (List<GetTemplates>)await _Dapper.QueryAsync("[dbo].[GetDocTemplates]", _Parameters);
}
但我收到以下错误。
无法转换类型的对象 'System.Collections.Generic.List
1[System.Object]' to type 'System.Collections.Generic.List1[DocPro.DMS.BusinessEntities.Admin.GetTemplates]'。我不知道上面的代码有什么问题。
【问题讨论】:
-
这回答了你的问题了吗? Convert List<DerivedClass> to List<BaseClass>
-
不,它没有回答,因为我有一个对象。
-
这如何让它与众不同?
标签: c# asp.net-mvc object model dapper