2016-09-28 5 views
1

私はVisual Studio 2015でプロジェクトを作成しています。このプロジェクトはasp.netプロジェクトテンプレート(MVCチェックボックスがチェックされています)から作成されています。MVC5 ASP.Netプロジェクトで新しいDbContextオブジェクトを作成する必要があります

複数のファイルが自動的に生成されます(ユーザー管理など)。 IdentityModels.csという名前のファイルにIdentityDbContext(ユーザーテーブル用)が含まれています。

私のアプリケーション用に他のテーブル/エンティティを作成したいと思います。ここで私は何をしたのですか?AはDbContextから継承した2番目のContextクラスを作成しました。

しかし、同じデータベースに対して2つのDbContextを持つことが良いのかどうかは疑問です。 すべてをIdentityDbContextに入れる必要がありますか?または、自分のプロジェクト用に2つのデータベースを作成します(1つは認証用、もう1つは自分のテーブル用)。あなたは、マイグレーションを実行すると、私があるようIdentityDBContextを残して、あなたのデータアクセス層

を表し、別のクラスライブラリプロジェクト内の別のデータコンテキストを作成することをお勧め

おかげ

答えて

1

あなたはどのコンテキスト名を指定しますアイデンティティテーブルを作成すると、マイグレーションのためにIdentityDBContextを再度必要としません。

+0

個人的には、自分のプロジェクト内のアイデンティティと他のテーブルで同じDbContextを使用します。私は、複数のプロジェクトに同じユーザーベースを使用する場合など、それらを分離する魅力的な理由がなければならないと思います。私はちょうどそれらの根拠が別々になるだろうと思っていますか? – Luke

+0

IDコンテキストは主にユーザー認証に関係しています。データアクセスプロジェクトに移動した場合、データアクセスレイヤー内で何も実行しないMicrosoft.AspNet.Identity.Coreおよび他の多くのアセンブリへの参照を追加する必要がありますこれは私が別々に保つ理由です –

+0

アイデンティティはデータアクセス層とは関係ありませんが、それは基礎となるデータソースとその構造に直接関係しないと言いますか?さらに、Identity Frameworkを使用している場合、これがあなたのユーザ情報にアクセスする方法です。 – Luke

関連する問題