我是 Dapper.net 的新手,我正在尝试使用 Dapper.Net 执行存储过程。
我有一个模型类
StoredProcedureResult
,与存储过程的输出相关。
public StoredProcedureResult
{
public string Name { get; set; }
public string Address { get; set; }
public string PhoneNumber { get; set; }
}
conn.Query(SP_name, Param(s), Type).
模型的输出是动态检索的。
执行后我得到以下内容
{{Dapper,Name='Pradeep',Address='UK',PhoneNumber='+4478923984'}}
{{Dapper,Name='Jack',Address='USA',PhoneNumber='+447242344234}}
{{Dapper,Name='Ram',Address='UK',PhoneNumber='+447892423484'}}
我需要将动态输出转换为
List<StoredProcedureResult>
结构。
经过几次搜索,我找到了这段代码
conn.Query<*Model_name*>(SP_name, Param(s), Type).
不幸的是,这返回了正确的行数,但行是空的。如何将输出转换为
List<StoredProcedureResult>
.
谢谢
调用Query时需要指定数据的返回类型。
// Gets results in dapper's DapperRow type.
// This is what you're getting now.
var results = _connection.Query("SP_name",
commandType: CommandType.StoredProcedure);
下面的示例显示以您的命名类型返回结果,这正是您真正想要的。
// Gets results in your type. Note we tell dapper
// we want it turned into StoredProcedureResults.
List<StoredProcedureResult> castResults;
castResults = _connection.Query<StoredProcedureResult>(
"SP_name",
commandType: CommandType.StoredProcedure).ToList();