如何一次创建多行?
问题描述:
如何一次在我的桌子上创建多行? 我希望能够添加不存在的行,并且只要按下提交就可以编辑/更新现有的行。如何一次创建多行?
为了测试这个,我只在数据库中创建了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)
)
答
充分利用projectID
不是主键,或对projectID
和building_ID
复合键。主键必须是唯一的,因此projectID
列中不能有重复的项目。组合键将意味着(projectID
* building_ID
)的组合必须是唯一的,因此您可能在任一列中都有重复项,但不是两者都有重复项。
当你说它不起作用时,你是什么意思?你有错误吗?只插入一行?你的变量名为numofbuilding的价值是什么?它是每个机会2 ....哈哈 – Milney
@Milney价值的numofbuilding是5,是的,只有一行被插入。 –
我们需要查看您的存储库的代码。 –