実際、私は1日中外部キーのEntityFrameworkに費やしています。2つのテーブルがあると仮定します。Process(app_id、process_id)LookupProcessId(process_id、process_description)
名前が付いた2つのテーブルを理解できます。最初のテーブルは、process_idを使用してすべてのアプリケーションを示し、説明はseoncdテーブルにあります。実際、私は何度も試して、クエリを実行する方法を理解しています。
Dim result = (from x in db.Processes where x.LookupProcess is (from m in db.LookupProcessIds where descr = "example" select m).FirstOrDefault() select x).FirstOrDefault()
最初に聞きたいのは、それを行う簡単な方法があるかどうかです。
次に質問したいのは挿入についてです
p As New AmpApplication.CUEngData.Process
p.app_id=100
p.LookupProcess = (from m in db.LookupProcessIds where descr = "example" select m).FirstOrDefault()
db.AddToProcesses(p)
db.SaveChanges()
外観からは問題ないように見えますが、「AmpCUEngEntities.Processes」のエンティティが「FK_Process_LookupProcess」関係に参加しているというエラーが表示されます。関連する「LookupProcess」が0個見つかりました。1「LookupProcess」が必要です。
挿入が間違っているのでしょうか?それは私のクエリが正しいですか?