2013-12-11 55 views
0

好的,所以當我嘗試構建我的解決方案時,我的控制器出現問題。我有所有設計的控制器,模型和視圖,但是我的控制器無法將輸入到我的表單中的數據提交到實際的本地SQL Server數據庫。實體框架對象不包含定義

以下是我的問題的屏幕截圖 關於[HttpPost] ActionResults的注意事項AddObject和ObjectStateManager導致了問題。

enter image description here

這裏是我的解決方案的web.config文件中的我的連接字符串。

我似乎無法找到資源在線理解爲什麼這是給我這個錯誤!

+0

好像你缺少一個參考。你可以嘗試添加System.Data.Entity嗎? – scheien

+0

是的,我在我的controller.cs的頂部有[使用System.Data.Entity;],並且在我的解決方案的引用下有 – eoinDeveloper

+1

檢查是否有Add()方法而不是AddObject()。你使用的是dbcontext還是objectcontext? – scheien

回答

1

我猜你正在使用DbContext,因爲你的集合是DbSet類型的,在這個集合上它是Add(TEntity),它們是向集合添加項目的適當方法。 MSDN

另一方面,我們有ObjectContext,它使用ObjectSet。並在該集合AddObject()是添加項目的正確方法。 MSDN

要刪除的實體,做這樣的事情:

db.Vendors.Remove(vendor); 
db.SaveChanges(); 

作爲一個方面說明,我會建議你,讓你不要暴露你的數據模型向公衆使用某種代理模式。

+0

db.Vendors.Remove(vendor);和db.Vendors.Add(供應商)都似乎刪除錯誤,但實際上都沒有工作?添加輸入實際上不會將該數據提交到數據庫 – eoinDeveloper

+0

當您添加新實體時是否收到任何錯誤? – scheien

+0

檢查你的App_Data文件夾,你有一個mdf文件嗎? – scheien