簡體   English   中英

Linq to sql存儲過程調用錯誤結果

[英]Linq to sql stored procedure call wrong result

我在項目中使用Linq to Sql調用存儲過程。 這是一個get存儲過程,該過程返回幾行

`Return db.ProcName(param1, param2, ......,paramN).ToList`

它使用正確的參數正確調用存儲過程。 我可以通過運行SQL事件探查器看到這一點。 在Management Studio中運行存儲過程時,我得到正確的結果。 如果運行運行在配置文件日志中的sql語句,我得到正確的結果。

問題是Linq收到數據時,基本上ToList返回的結果與數據庫返回的結果不同。 我確實記得關於NULL值的內容,或者當沒有primary key Linq會做一些有趣的事情,但是我不確定它到底是什么。

有人可以指出這里發生了什么嗎? 表1是在Management Studio中執行時存儲的proc返回的結果,表2是執行Linq to Sql代碼時返回的結果

表格1:

OrgRef OrgCode DisplayName StockTakeId StockTakeName   StockPositionDate   StockTakeOrganisationReturnId   SubmittedBy ReturnStatus    IsEditable
------------------------------------------------------------------------------------------------------------------------------------------------------------------
9391    K81060  Name        2           Type2           NULL                NULL                            NULL            NULL        1
9391    K81060  Name        1           Type1           2014-05-20          311                             Sachin Kalra    Saved       1
9391    K81060  Name        1           Type1           2014-10-08          312                             Sachin Kalra    Saved       1

表2:

OrgRef OrgCode DisplayName StockTakeId StockTakeName   StockPositionDate   StockTakeOrganisationReturnId   SubmittedBy ReturnStatus    IsEditable
------------------------------------------------------------------------------------------------------------------------------------------------------------------
9391    K81060  Name        2           Type2           NULL                NULL                            NULL            NULL        1
9391    K81060  Name        1           Type1           2014-05-20          311                             Sachin Kalra    Saved       1
9391    K81060  Name        1           Type1           NULL                NULL                                Sachin Kalra    Saved       1

在表1中,您可以看到第二行和第三行的第6列(StockPositionDate)和第7列(StockTakeOrganisationReturnId)都有值,但在表2中,這些值變為NULL。

任何人都知道它為什么會發生,即使使用正確的參數調用了存儲的proc。

我會嘗試重建DBML文件,這可能是因為模型已更改,而LINQ在試圖將新數據放入舊模型時感到困惑。

暫無
暫無

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

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