在我的数据库有3个表
CustomerType
CusID
事件类型
EventTypeID
CustomerEventType
CusID
EventTypeID
alt text http://img706.imageshack.us/img706/8806/inserevent.jpg无法添加已存在的实体。 (LINQ到SQL)
Dim db = new CustomerEventDataContext
Dim newEvent = new EventType
newEvent.EventTypeID = txtEventID.text
db.EventType.InsertOnSubmit(newEvent)
db.SubmitChanges()
'To select the last ID of event'
Dim lastEventID = (from e in db.EventType Select e.EventTypeID Order By EventTypeID Descending).first()
Dim chkbx As CheckBoxList = CType(form1.FindControl("CheckBoxList1"), CheckBoxList)
Dim newCustomerEventType = New CustomerEventType
Dim i As Integer
For i = 0 To chkbx.Items.Count - 1 Step i + 1
If (chkbx.Items(i).Selected) Then
newCustomerEventType.INTEVENTTYPEID = lastEventID
newCustomerEventType.INTSTUDENTTYPEID = chkbxStudentType.Items(i).Value
db.CustomerEventType.InsertOnSubmit(newCustomerEventType)
db.SubmitChanges()
End If
Next
当我从CheckBoxList1检查CustomerEventType只有1单ID,它工作正常。它将数据插入ID为1和CustomerEventType ID为1的EventType。但是,当我检查它们时,错误消息说
无法添加已存在的实体。
有什么建议吗? Thx提前。
Thx回复Obalix!我想要的结果是 我想将新的EventTypeID 1插入到EventType表中,并在一个FORM中包含2个ID的CustomerType复选框列表。 所以,我点击插入按钮后,事件类型表和CustomerEventType表中的数据应该是: 事件类型 EventTypeID CustomerEventType EventTypeID = 1,1 CusID = 1,2 – Vicheanak 2010-03-09 08:30:21
HTTP://social.msdn .microsoft.com /论坛/ zh-CN/linqtosql /线程/ 242a3235-1d62-4c5d-822a-575be7f5f141 您可以检查此帖以获取清晰的说明。谢谢。 – Vicheanak 2010-03-09 08:47:26
该按钮仅会被点击一次。我只是试图使数据库和代码易于阅读,实际上是EventType表,EventTypeID和EventName是EventTypeID是主键自动递增1以便它始终是唯一的。 EventTypeID文本框实际上假设为EventName文本框。 CustomerType CheckboxList与来自CustomerTypes 1和2的2个ID绑定。 – Vicheanak 2010-03-09 08:54:29