2017-04-19 12 views
-1

테이블에 여러 행을 한 번에 만드는 방법은 무엇입니까? submit을 누를 때마다 존재하지 않는 행을 추가하고 기존 행을 편집/업데이트 할 수 있기를 원합니다.한 번에 여러 개의 행을 만드는 방법은 무엇입니까?

이 테스트하려면 데이터베이스에 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

@ numofbuilding의 @Milney 값은 5이고 예, 한 행만 삽입됩니다. –

+0

저장소에 대한 코드가 필요합니다. –

답변

0

projectID없는 기본 키를 확인하거나 projectIDbuilding_ID에 복합 키가 . 기본 키는 고유해야하므로 projectID 열에 중복 항목을 가질 수 없습니다. 복합 키는 (projectID * building_ID)의 조합이 고유해야 함을 의미하므로 둘 중 하나의 열에서 복제본을 가질 수 있지만 둘 다에서 복제본을 가질 수는 없습니다.