簡體   English   中英

如何在ADO.NET實體框架中無錯誤地調用存儲過程?

[英]How to call stored procedure without error in ADO.NET Entity Framework?

如何在ADO.NET實體框架中調用沒有錯誤的存儲過程? 如果使用下面的代碼,則會出現錯誤:

adminNameContext.AddItemCategory(12, "ggf", DateTime.Now);  

錯誤:

數據讀取器與指定的“ NetTanitimTestModel.Categories”不兼容。 類型“ ID”的成員在數據讀取器中沒有具有相同名稱的對應列。

 ALTER procedure [dbo].[sp_AddItemCategory] ( @item int, @category nvarchar(50), @date smalldatetime ) as begin if(@item=-1) begin insert into Categories(PARENTID,Category,Date) values(null,@category,@date) end else begin insert into Categories(PARENTID,Category,Date) values(@item,@category,@date) end end 

我有3表的類別表:PARENTID,Category,Date

米奇·麥特(Mitch Wheat)給了你答案。 您正在嘗試使用ID列,但是該表具有PARENTID列。

看來您的EF數據模型和您的數據庫不再同步。 似乎您在EF數據模型中的“類別”對象具有“ ID”字段,但表卻沒有。

我將從數據庫更新EF數據模型,看看是否可以解決問題。 為此,打開EDMX設計器,然后在設計圖面上的空白處單擊鼠標右鍵,然后選擇“從數據庫更新模型”選項。 那應該使兩個世界重新同步。

暫無
暫無

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

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