如何一次创建多行?

How to Create multiple Rows at once?

如何在 table 上一次创建多行? 我希望能够在每次按下提交时添加不存在的行和 edit/update 现有行。

为了测试这一点,我只在数据库中创建了 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);
}

建筑信息-Table

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

使 projectID 不是主键,或者在 projectIDbuilding_ID 上有一个复合键。主键必须是唯一的,因此 projectID 列中不能有重复项。复合键意味着 (projectID * building_ID) 的组合必须是唯一的,因此您可以在任一列中有重复项,但不能同时有重复项。