2017-04-19 119 views
-1

如何一次在我的桌子上創建多行? 我希望能夠添加不存在的行,並且只要按下提交就可以編輯/更新現有的行。如何一次創建多行?

爲了測試這個,我只在數據庫中創建了2個字段,並且似乎無法添加多行。

numofbuilding的值= 5. 只插入一行。

嘗試:

public ActionResult CreateBuildings(Guid pi, int? numofbuilding) 
{ 
    OnboardModel model = new OnboardModel(); 
    List<onboard_BuildingInfo> coms = new List<onboard_BuildingInfo>(); 

    for (int i = 1; i <= (numofbuilding+1); i++) 
    { 
     onboard_BuildingInfo f = new onboard_BuildingInfo 
     { 
      projectID = pi, 
      building_ID = i 
     }; 
     coms.Add(f); 
    } 
    context.onboard_BuildingInfos.InsertAllOnSubmit(coms); 
    context.SubmitChanges(); 
    return View(model); 
} 

,並試圖:

public ActionResult CreateBuildings(Guid pi, int? numofbuilding) 
{ 
    OnboardModel model = new OnboardModel(); 
    for (int i = 1; i <= numofbuilding; i++) 
    { 
     onboard_BuildingInfo coms = new onboard_BuildingInfo 
     { 
      projectID = pi, 
      building_ID = i 
     }; 
     context.onboard_BuildingInfos.InsertOnSubmit(coms); 
     context.SubmitChanges(); 
    } 

    return View(model); 
} 

BuildingInfo-表

Create Table onboard_BuildingInfo (
     projectID      UNIQUEIDENTIFIER DEFAULT  NEWID() , 
     building_ID      int     NULL , 
     city_building     varchar(500)  NULL , 
     numberofcommon     INT     NULL 
     PRIMARY KEY (projectID) 
    ) 
+0

當你說它不起作用時,你是什麼意思?你有錯誤嗎?只插入一行?你的變量名爲numofbuilding的價值是什麼?它是每個機會2 ....哈哈 – Milney

+0

@Milney價值的numofbuilding是5,是的,只有一行被插入。 –

+0

我們需要查看您的存儲庫的代碼。 –

回答

0

充分利用projectID不是主鍵,或對projectIDbuilding_ID複合鍵。主鍵必須是唯一的,因此projectID列中不能有重複的項目。組合鍵將意味着(projectID * building_ID)的組合必須是唯一的,因此您可能在任一列中都有重複項,但不是兩者都有重複項。