0

我在一個Stored Procedure中創建了多個查詢。檢查下面的例子:
使用實體框架在一個存儲過程中插入,更新和刪除查詢

IF(@Type='add') 
BEGIN 
    Insert query 
END 

IF(@Type='get') 
BEGIN 
    Select query 
END 

我在我的MVC項目中使用Entity Framework。所以,我收到錯誤:does not have a corresponding column in the data reader with the same name

是否需要爲每個查詢創建不同的Stored Procedures?我如何實現我想要做的事情?

+0

這是關於如何編寫它的選擇。 – Amit

+0

你能告訴你如何設置'query'值嗎? –

+0

@ S.Dav我正在添加實體框架模型(Ado.NET實體數據模型和EF Designer來自數據庫)。 –

回答

0

您得到的錯誤與過程中包含的查詢無關,您可以在過程中同時包含插入和選擇查詢,而不會出現問題。

select查詢必須在插入之後,以便存儲過程返回的查詢結果因此實體框架可以正確地將屬性映射到模型。

另一個問題,我認爲,選擇查詢,沒有返回完整的實體模型,我認爲你只返回特定的列而不是所有的列。

我建議您將它們拆分爲兩個不同的過程,以便將選擇查詢映射到模型。並且插入查詢沒有選擇就可以正常工作。

+0

在我上面的存儲過程中,如果我在插入語句後添加select查詢,那麼它工作正常。 'IF(@類型=「添加」) BEGIN其中id =最後一個ID END' –

+0

是它必須是插入後,使其返回到結果從存儲過程回 插入查詢 Select查詢。 – 2017-10-18 12:21:20

+0

@JeetenParmar - 見我更新 – 2017-10-18 12:22:24

相關問題