LINQ to SQL の関連付け - 「プロパティに一致する型がありません」
-
09-06-2019 - |
質問
特定のテーブルの 2 つのフィールドを別のテーブルの同じフィールドにリンクしようとしています。以前にも同じことをしたことがあるので、今回は何が間違っているのかわかりません。
ともかく:
Table1
- Id (Primary)
- FK-Table2a (Nullable, foreign key relationship in DB to Table2.Id)
- FK-Table2b (Nullable, foreign key relationship in DB to Table2.Id)
Table2
- Id (Primary)
この関連付けは FK-Table2a では機能しますが、FK-Table2b では機能しません。実際、LINQ to SQL に読み込むと、Table2.Id が Table1.Id に関連付けられているように表示されます。これを変更しようとしたり、FK-Table2b の新しい関連付けを Table2.Id に追加したりすると、次のように表示されます。「プロパティに一致するタイプがありません。」
これは他のプロジェクトでも機能します。おそらく .dbml をコピーするだけでよいでしょうか?
何か案は?
解決 2
原因はわかりませんが、.dbml を最初から再構築したところ、自動的に修正されました。ああ、「更新」機能については...
他のヒント
この問題は、リレーションシップの片側が NULL 可能である (つまり、実際には 1 対 0/1) 1 対 1 のリレーションシップを作成しようとすると発生します。LINQ-to-SQL はこれをサポートしていないようなので、複数のリレーションシップと、0 または 1 つの項目を含むコレクションを作成する必要があるようです。迷惑な。
私も同じ問題を抱えていました。このエラーは、さまざまなタイプのフィールドをリンクしようとしたとき、またはテーブルを .dbml 領域にドラッグ アンド ドロップしようとしたときに、.dbml にすでにさまざまなタイプのリンク フィールドを持つリンク テーブルが含まれていたときに発生しました。
所属していません StackOverflow