C# 如何使用linq在同一个表中插入2或3行
我尝试在我的表中插入第2天或第3天的实体,如“day Saturday Group A” 及"A组同日星期一及"A组同日星期五C# 如何使用linq在同一个表中插入2或3行,c#,linq,linq-to-sql,C#,Linq,Linq To Sql,我尝试在我的表中插入第2天或第3天的实体,如“day Saturday Group A” 及"A组同日星期一及"A组同日星期五 使用(db=newdataclasses1datacontext()) { List groupadd=新列表(); groupadd.Add(新组\u天\u TB() { ID_Groups=int.Parse(TxtID.Text.ToString()), ID_Days=int.Parse(listBoxControl1.SelectedValue.ToStrin
使用(db=newdataclasses1datacontext())
{
List groupadd=新列表();
groupadd.Add(新组\u天\u TB()
{
ID_Groups=int.Parse(TxtID.Text.ToString()),
ID_Days=int.Parse(listBoxControl1.SelectedValue.ToString()),
GSelectedTime=TimeSpan.Parse(textEdit1.Time.ToString(“HH:mm”),
GStartdate=DateTime.Parse(timeEdit1.Text.ToString()),
GEnddate=DateTime.Parse(timeEdit2.Text.ToString())
});
db.分组\天数\待定。插入分配提交(分组添加);
db.SubmitChanges();
}
插入的最后一天我从列表框中选择。
只需插入1天,而不是我选择的所有天您需要在列表框中循环选择的值
using (DataClasses1DataContext db = new DataClasses1DataContext())
{
List<Group_Days_TB> groupadd = new List<Group_Days_TB>();
foreach (int i in listBoxControl1.SelectedIndices)
{
groupadd.Add(new Group_Days_TB(
int.Parse(TxtID.Text.ToString()),
int.Parse(TypeDescriptor.GetProperties(listBoxControl1.Items[i])[listBoxControl1.ValueMember].ToString()),
TimeSpan.Parse(textEdit1.Text.ToString()),
DateTime.Parse(timeEdit1.Text.ToString()),
DateTime.Parse(timeEdit2.Text.ToString())
));
}
db.Group_Days_TBs.InsertAllOnSubmit(groupadd);
db.SubmitChanges();
}
使用(DataClasses1DataContext db=newdataclasses1datacontext())
{
List groupadd=新列表();
foreach(listBoxControl1.SelectedIndices中的int i)
{
groupadd.Add(新组\u天\u TB(
int.Parse(TxtID.Text.ToString()),
int.Parse(TypeDescriptor.GetProperties(listBoxControl1.Items[i])[listBoxControl1.ValueMember].ToString(),
TimeSpan.Parse(textEdit1.Text.ToString()),
DateTime.Parse(timeEdit1.Text.ToString()),
Parse(timeEdit2.Text.ToString())
));
}
db.分组\天数\待定。插入分配提交(分组添加);
db.SubmitChanges();
}
我在组_Days_TB中创建了一个参数化构造函数,用于添加到列表中,但这只是我的首选
我以前从未使用过TypeDescriptor.GetProperties,但我相信该行将为当前选定的索引提取值成员AFAIU,您使用LINQ to SQL,当您调用
SubmitChanges
时,有些东西不起作用。你能告诉我什么是不起作用的吗?好吧,我至少希望有一些代码循环通过所选值,我假设,listBoxControl1
(对这些默认名称做些什么)。groupadd列表中只有一个Group\u Days\u TB对象。您应该创建该对象并将其添加到列表中
using (DataClasses1DataContext db = new DataClasses1DataContext())
{
List<Group_Days_TB> groupadd = new List<Group_Days_TB>();
foreach (int i in listBoxControl1.SelectedIndices)
{
groupadd.Add(new Group_Days_TB(
int.Parse(TxtID.Text.ToString()),
int.Parse(TypeDescriptor.GetProperties(listBoxControl1.Items[i])[listBoxControl1.ValueMember].ToString()),
TimeSpan.Parse(textEdit1.Text.ToString()),
DateTime.Parse(timeEdit1.Text.ToString()),
DateTime.Parse(timeEdit2.Text.ToString())
));
}
db.Group_Days_TBs.InsertAllOnSubmit(groupadd);
db.SubmitChanges();
}