「n 対 n」の関係を持つテーブルにオブジェクトを追加するのに問題があるようです。
テーブルは次のように定義されます。
表 A
- ID (プライマリ)
- ...
- ...
- ...
表 B
- ID (プライマリ)
- ...
- ...
- ...
表 C
- TableA_ID (インデックス)
- TableB_ID (インデックス)
したがって、基本的にテーブル C はテーブル A とテーブル B を ID でリンクします。エンティティ フレームワークを使用して、TableB エンティティのエンティティ コレクションを含むオブジェクト TableA を作成しました。
ただし、タイプ TableB の既存のオブジェクトを TableA.TableBs エンティティ コレクション プロパティに追加すると、例外が発生します。
SQL 構文にエラーがあります。
TableC
1 行目の '(SELECT\n .TableA
, \n ' の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください 。
私は非常に普通の/一般的なことをしようとしているようですが、これを機能させることに成功していません。
C# コード:
var database = new DatabaseEntities();
var tableAObject = database.SingleOrDefault(e => e.ID == 1);
var tableBObject = database.SingleOrDefault(e => e.ID == 1);
tableA.TableBEntities.Add(tableBObject);
database.SaveChanges();
どうやら私は何か間違ったことをしているようです。私の質問は、テーブル C にオブジェクトを追加するにはどうすればよいですか?