0

Posts、Tags、および PostTags の 3 つのテーブルがあります。PostTags テーブルは、投稿とタグの間のクロス テーブルで、投稿にバインドされているタグを説明します (この関係は MS SQL データベースで設定されます)。

問題は、PostTags がUpdate Model From Databaseの Add タブに表示されないことです。Posts and Tags テーブルを追加するときに追加されませんか? タブを更新すると、PostTags テーブルが表示されますか?

Model Browser > MainModel > Entity Types にも PostTag テーブルはありませんか?

コード内の Posts から Tag テーブルへの参照が直接作成されていることがわかりますが、これを試すと、Posts.Tags.Add は PostTags エンティティではなく Tags エンティティを要求しますか? とにかくこれを実行すると、タグの列を null に設定できないというエラーが表示されます。Tags テーブルには何も追加したくないのですが、PostTags テーブルだけに追加したいですか?

私は何を間違っていますか?

4

1 に答える 1

0

これは正常な機能です。

他の 2 つのテーブル間のリンクであるテーブル (PostTags) がある場合、モデルでは投稿とタグの間の多対多の関係として表示されます。

接続テーブルを表示する場合は、PostTags テーブルにフィールドを追加します。

モデルを開いて xml ソースを表示すると、どのように機能するかがわかります。

編集

次のような行がある場合:

myPost.AddTag(myTag);

これにより、投稿とタグが接続されます。SaveChanges を呼び出すと、EF は PostTags テーブルにエントリを追加します。

于 2013-03-17T17:44:27.737 に答える