0

わかりました、私はこの記事を非常に注意深くフォローしました:

Entity Framework Code First Migrations

それはよく書かれており、明確で簡潔であり、何よりも私の正確な状況とほぼ一致しています(ただし、テーブル名は異なります)。欠落している情報があります。「投稿」テーブルを追加するための移行が行われた後、「投稿」テーブルのデータにどのようにアクセスしますか?

おそらく PostsContext があるべきだと思います。それとも、すべてのオブジェクトを含む単一のコンテキストが必要ですか? 投稿へのアクセスを許可するには、既存の BlogContext を更新する必要がありますか? これを行うと、移行を実行すると、「データベースに「Posts」という名前のオブジェクトが既に存在します」というエラーが発生します。

4

1 に答える 1

0

これを行う最善の方法は、複数の DbContext オブジェクトを持つことです。新しいクラスを作成して DbContext から継承し、基本的に PostContext オブジェクトを持っていたとき、喜んでデータベースから情報を取得しました。私の PostContext は、BlogContext と非常によく似ていました。

私の免責事項: データベースへのアクセスをモジュラーに保つことができるように、個別の DbContext を持つことが理にかなっていることを示す多くのスレッドを読みました。私はこれ以上同意できませんでした。ただし、すべてを表すグローバルな DbContext があるとよいことも読みました。これは私には良い考えではないように思えますが、文字通りテーブルが 2 つしかないので、これを機能させたかったのです。結局、コンテキスト クラスを更新できませんでした。私は本当にそれを機能させる方法を理解したかったのです。私が持っている方法には、これが最善のアプローチであるとは思えない特定の匂いがあります. しかし、テーブルが 2 つあれば十分です。

于 2013-10-28T20:31:58.953 に答える