Man*_*aux 6 .net c# database ado.net strongly-typed-dataset
我在C#(.NET 3.5)中使用ADO.NET和强类型数据集.我想在两个表中插入一个新行,这两个表在1:n关系中相关.
该表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);
Run Code Online (Sandbox Code Playgroud)
当然,当我第一次更新InvoicesAttachments
表时,我将从SQL服务器中获取外键违规,因此我尝试Attachments
首先更新表,这将创建行,但将删除InvoiceAttachments
表中的附件关联.为什么?
我该如何解决这个问题?
对于表之间的关系,确保选择“关系和外键约束”,并将“更新规则”设置为“级联”。与适配器上的“刷新数据表”选项相结合,在插入父行后,更新的 ID 将“级联”关系,从而防止数据集中出现外键违规。然后,您的子表将准备好正确插入到数据库中。