私はアプリケーションテーブルを持つ既存のデータベースを持っています。私はMVC5を使用してアプリケーションの新しいバージョンを構築しようとしています。私は、アプリケーションの一部としてAspNet Identityフレームワークを使用することに決めました。既存のデータベースのAspNet ID ApplicationDbContext
プロジェクトを作成しながら、私が使用Visual Studioのテンプレートファイルを追加「IdentityModel.cs」とクラス
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("DefaultConnection", throwIfV1Schema: false)
{
}
}
だから私のようなコードを使用して、テーブルのユーザー、ロールおよびその他のASPNETアイデンティティのテーブルにアクセスすることができます:ため、Microsoftは、クラス "アプリケーション DbContext"(とない:例えばアイデンティティ DbContext)に付けた名前の
var context = new ApplicationDbContext();
context.Users.ToList();
、私はそのクラスがAspNet Identityフレームワークに関係していない既存のすべてのテーブルの "アクセサ"として使用されるべきかどうか疑問に思っていますか?
"ApplicationDbContext"というクラスの一般的な名前はありません。私は自分のアプリケーションの他のテーブルにアクセスするために私のソリューションに追加したばかりのエンティティフレームワークプロジェクトを使用しましたが、 "ベストプラクティス"は何ですか?同じAspNet Identity ApplicationDbContextアクセサを使用するか、または2つのDbアクセサ(AspNet IDテーブルの1つと残りのテーブル(Dbファースト)のために作成したエンティティフレームワークの1つ)を使用するには
私は、すべてのテーブル、AspNetのアイデンティティと私が別々のEntityFramework edmxファイルで持っているすべてのテーブルのすべてのために同じdbContextを使用するより多くの論理を見ます。どのように私は1つのdbContextで両方を使用できますか?
単一のコンテキストを使用します。既存のコンテキストにアイデンティティ・フレームワーク・テーブルを追加するか、生成されたコンテキストにテーブルを追加します。違いはありません。コンテキストの名前が気に入らない場合は、名前を変更してください。テンプレートはちょうど開始点を生成します、それは標準ではありません。 –
@CraigW。あなたのコメントをありがとう、私はエンティティフレームワークedmxファイルをアプリケーションテーブルのテストのために使用しています。どのように私はasp.netのアイデンティティの同じ同じdbコンテキストを使用することができますか? – Omtechguy