にLINQで新しい親を作成するときに、私は関係の基本セットを反映するためにSQLのDataContextに設定LINQあります移入の子エンティティSQL
予定は1つのクライアント、1人の従業員と多くのAppointmentServicesを持っています。各AppointmentServiceにはServiceDefinitionが1つあります。それぞれは、プライマリおよび外部キーによって他のものにリンクされています。
私はメモリ内に新しい予定を作成し、クライアントIDと社員コードを読み込みます。私はメモリにAppServiceを作成し、tmpAppointment.AppServicesに設定されたエンティティにAppServiceを追加します。
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
を作成それを移入した後、DBから正しいサービス定義を選択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