當我在實體框架中使用外鍵時,當我執行POST時外鍵對象爲空。我正在使用MVC3和EF 4.1。我有兩個表,產品和產品詳細信息。我在Razor視圖中使用HTML助手公開它們。 GET發生時,會顯示產品詳細信息。但是,當我做表單提交併發佈到服務器時,產品詳細信息集合爲空。我失去了所有的改變。在EF4.1 MVC3中更新外鍵表。對象在POST上爲空
任何想法我做錯了嗎?
感謝您的幫助!
代碼(i縮短它,因爲它是相當漫長的):
數據庫:
Table Product
{
int Id
varchar Name
}
Table ProductDetails
{
int id,
int ProductId, <- foreign key SQL 2008 to Product Table
varchar Details
}
View:
@model WebSite.Models.Product
@{
ViewBag.Title = "MyLifeSaverStoreInfo";
}
@Html.TextBoxFor(m => m.Product.Name)
@Html.TextBoxFor(m => m.Product.ProductDetails.FirstOrDefault().Description)
Controller:
public ActionResult EditProduct(int productId)
{
var Product = _productRepository.GetProduct(productId);
return View(product);
}
[HttpPost]
public ActionResult EditProduct(Product model)
{
string name = model.Name; <- this update comes through
string description = model.ProductDetails.FirstorDefault().Description;
}
感謝
當你寫下這個問題時,你是否認爲重要的是發佈目前爲止的一些代碼?如果我問了一個問題,我肯定會提供我到目前爲止嘗試過的代碼。如果可以提供完整的場景(模型,控制器,視圖)以允許重現該問題,那將是最好的。 –
我已更新該帖子。謝謝 –