我使用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