我使用ADO.NET在C#(.NET 3.5)强类型数据集。我想插入一个新的行到两个相关的1:n关系表。插入行使用强类型DataSet
表Attachments
包含关系的主键部分,表LicenseAttachments
包含外键部分。
AttachmentsDataSet.InvoiceRow invoice; // Set to a valid row, also referenced in InvoiceAttachments
AttachmentsDataSet.AttachmentsRow attachment;
attachment = attachmentsDataSet.Attachments.AddAttachmentsRow("Name", "Description");
attachmentsDataSet.InvoiceAttachments.AddInvoiceAttachmentsRow(invoice, attachment);
当然,当我第一次更新InvoicesAttachments
表,我会得到一个外键冲突从SQL服务器,所以我第一次尝试更新Attachments
表,这将创建的行,但会删除附件关联在InvoiceAttachments
表中。为什么?
我该如何解决这个问题?
只是一个笔记......当我使用强类型数据集时,每次实例化时都会有巨大的性能。 – Zoidberg 2009-08-25 12:54:33
是的,我知道这一点。你用什么来代替?简单地键入DataSets? – 2009-08-25 12:56:33
@Manuel:您的强类型数据集与我在asp.net项目数据集中找到的数据集相同,因为您有自动生成的表格adpaters或者您是否手动创建它们? – Breadtruck 2009-08-25 13:08:44