我已經建立了的LINQ to SQL的DataContext,以反映基本關係的集合:在LINQ創造新父當填充子實體到SQL
的委任有一個客戶端,一個員工和許多AppointmentServices。每個AppointmentService都有一個ServiceDefinition。每個通過主鍵和外鍵鏈接到另一個鍵。
我在內存中創建一個新的約會,填充clientID的和僱員。我在內存中創建一個AppService,並將AppService添加到tmpAppointment.AppServices中設置的實體。
tmpAppointment = New Appointment
tmpAppointment.ClientID = 1
tmpAppointment.EmployeeID = 2
tmpAppService = New AppService
tmpAppService.ServiceDefinitionID = 123
tmpAppointment.AppServices.Add(tmpAppService)
是否有可能來填充存儲器中的每一AppService服務的服務定義不插入任何任命或應用服務爲各自的數據庫?用戶可以取消這個過程,我只是想避免不必要的添加,然後從數據庫中刪除。
確認用戶想要使用未綁定控件繼續前進,我可以開球了,但我想知道LINQ to SQL是否提供了更優雅的解決方案。
我曾嘗試:
tmpAppointment.AppServices.Load
和
創建new ServiceDefinition
然後填充它,然後將其添加到AppServices
和
從數據庫中選擇正確的服務定義並將其添加到AppServices實體集
第一不執行任何操作,後兩個拋從DataContext類內執行以下操作:
System.InvalidOperationException:「序列包含一個以上的元素」
在自動生成的線
<Global.System.Data.Linq.Mapping.AssociationAttribute _
(Name:="AppService_ServiceDefinition", Storage:="_AppServices", _
ThisKey:="ServiceID", OtherKey:="ServiceDefinitionID", _
IsForeignKey:=true)>
Public Property AppService() As AppService
Get
Return Me._AppServices.Entity
End Get
Set
Dim previousValue As AppService = Me._AppServices.Entity <<<< error thrown
謝謝。
謝謝你,但是做所以拋出我提到的錯誤。我已經更新了關於這方面的更多細節。 – George
我解決了我的錯誤拋出問題。一旦我這樣做了,我可以手動填充ServiceDefinition實體。謝謝。對於任何有此問題的人來說,LINQ to SQL的確如你所期望的那樣工作,但你需要正確設置你的關聯。一旦我改變了我的父母/子女關係,基本上和我原來的父母/子女關係相反(參見頂部的圖表),事情就開始正常工作 - 這很有趣! – George