2016-11-16 115 views
0

我第一次使用EF代碼,我的模型是這樣的:如何在EF中創建另一個實體的新實體?

public class Warehouse 
{ 
    public int Id { get; set; } 
    public ICollection<Item> Items { get; set; } 
    public ICollection<Branch> Branches { get; set; } 
} 

顯然腳手架視圖不支持這樣的場景;如何在Warehouse/Create頁面中添加ItemsBranches?這裏是腳手架視圖:

@model WarehouseManagementMVC.Models.Warehouse 

@{ 
    ViewBag.Title = "Create"; 
} 

<h2>Create</h2> 


@using (Html.BeginForm()) 
{ 
    @Html.AntiForgeryToken() 

    <div class="form-horizontal"> 
     <h4>Warehouse</h4> 
     <hr /> 
     @Html.ValidationSummary(true, "", new { @class = "text-danger" }) 
     <div class="form-group"> 
      <div class="col-md-offset-2 col-md-10"> 
       <input type="submit" value="Create" class="btn btn-default" /> 
      </div> 
     </div> 
    </div> 
} 

<div> 
    @Html.ActionLink("Back to List", "Index") 
</div> 

@section Scripts { 
    @Scripts.Render("~/bundles/jqueryval") 
} 
+0

向我們展示視圖代碼 – user449689

+0

視圖中沒有任何內容,因爲模型中沒有單個屬性 – Mohamed

+0

我會避免將此類代碼添加到創建頁面,而是添加一個表和鏈接以創建新的項目/分支倉庫編輯頁面 – JamieD77

回答

1

你必須瞭解張貼集合是如何工作的;請參閱此SO貼子如何做到這一點:How can I post a list of items in MVC

我會警告,但不要直接發佈集合回EF對象;原因是您必須確保EF可以正確解釋插入或更新,並且如果它沒有包含所有相關信息,則可能無法做出正確的決定。此外,如果您正在更新,任何元數據屬性也需要包含在用戶界面中,如果不能正確回來,可能會產生負面影響。

相關問題