0

コードファーストアプローチで作成されたMVC 5プロジェクトを継承しました。プロジェクトには、認証/承認のためのすべてのクラス(ここではA/Aと呼ぶ)(AccountController.cs、ManageController.csなど)があります。また、Referencesフォルダの下にA/A(Microsoft.AspNet.Identity.Coreなど)のために必要なすべての参照がありますが、A/Aは実装されておらず、web.configは次のようになっています:ASP .NET - MVC 5 - エンティティフレームワーク - コードファースト - フォーム認証

<system.web> 
    <authentication mode="None" />​ 

私はに変更::私はこだわっている

が自動生成されたA /コードはApplicationDbContext(例を参照していることであるなど

<authentication mode="Forms"> 
     <forms loginUrl="~Account/LogIn" timeout="1880" /> 

と今では、ログインページに私を取りますIdentityModels.csで)、ユーザーがデータなどを入力する画面を処理するwebappの機能部分、ac VehicleDBontextを介してDBを終了します。

ありVehicleDBConnectionという名前のweb.configファイル内のSQL Serverへの単一の接続がだ、と私は、接続を指すように、基本クラスを設定ApplicationDbContextのコンストラクタでのように、A/Aは、これと同じ文脈との接続を使用する必要があります。

public class ApplicationDbContext : IdentityDbContext<ApplicationUser> 
{ 
    public ApplicationDbContext() 
     : base("name=VehicleDBConnection", throwIfV1Schema: false) 
    { 
    } 

この時点で私はDBをチェックしましたが、A/Aのサポートはありませんでした。つまり、dbo.AspNetUsersのようなテーブルはありません。したがって、ユーザーを作成しようとすると、 dbo.AspNetUsers '"

次のようにA/Aのテーブルを生成しようとしましたが、エラーが発生しました。b/cまだ2つのコンテキストがあります。

PM>有効-移行を 複数のコンテキストタイプがアセンブリに

を見つけた私は1つのコンテキストを持っていることを好むだろうが、それは、ログイン自動生成されたコードに大きな変化を意味している場合同じ接続を指す限り、2つの別々のコンテキストを保つ方が良いでしょう。

他のアプリケーションクラスの移行に影響を与えずに、既存のDBに自動的に生成されたA/A対応DBテーブル、stor procsなどを取得するにはどうすればよいですか?

は、あなたは、単にそれに応じてStartup.csを更新し、VehicleDBContextはIdentityDbContextを継承すること、および(もしあれば)ApplicationDbContextから、それにカスタムDbSetsを移動することによって、1つのコンテキストを持つことができます

リック

+0

アブドゥルラーマンありがとうございます。私はIdentityDbContextへの切り替えを終え、PMを使用してこのコンテキストおよびデータベースの移行を可能にしました。これにより、認可/認証テーブルが生成されました:-)その後、PMの有効化 - 移行を使用して、DBのほとんどの変更が必要になるVehicleDBContextに戻りました。あなたが言ったようにすべて働いた – Rick

答えて

0

、事前にありがとう。

あなたは次のように-ContextTypeNameコマンドスイッチを使用して、両方のコンテキストを維持することを好む場合:

1)Enable-Migrations -ContextTypeName Namespace.ApplicationDbContext

これは、コンフィギュレーションを作成します。そして、CSファイル、クラスの名前を変更(または別の名前空間に変更)

2)Enable-Migrations -ContextTypeName Namespace.VehicleDbContext

、あなたがいずれかのコンテキストのための新しい移行を追加するたびに、-ConfigurationTypeNameで設定ファイルをspecifiy:

Add-Migartion [NAME] -ConfigurationTypeName [Fully-qualified configration file name] 
関連する問題