簡體   English   中英

將 dapper.net 的存儲過程輸出轉換為 List

[英]Convert stored procedure output from dapper.net into List

我是 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時需要指定數據的返回類型。 您擁有 < Model Name > 的位置是您放置預期返回類型 - 的位置。 在您的示例中,您以 dapper 的內部動態 dapperrow 類型獲取數據

        // 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();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM