我對MVC有同樣的問題,我發現的最好的解決方案是在我的模型上使用ForeignKey數據註釋,這樣我可以只插入相關對象的ID並在稍後檢索對象。這裏有一個例子:
public class Product {
public int ProductId { get; set; }
public string Name { get; set; }
// Add this field so I can add the entity to the database using
// category id only, no need to instantiate the object
public int CategoryId { get; set; }
// Map this reference to the field above using the ForeignKey annotation
[ForeignKey("CategoryId")]
public virtual Category Category { get; set; }
}
public class Category {
public int CategoryId { get; set; }
public string Name { get; set; }
}
現在,它一直年齡,因爲我最後一次使用的WebForms,所以我真的不知道該怎麼類別列表綁定到DropDownList的,也許是這樣的:
<asp:DropDownList ID="CategoryId" SelectMethod="GetCategories" runat="server" />
也許當你的產品返回到你的創建或更新方法時,它會隨着CategoryId屬性的正確歸屬而出現,然後你所要做的就是保存EF的上下文。祝你好運。