MS SQL Server 2012の既存のデータベースにCode-Firstを適用しています。プロジェクト - >アイテムの追加 - > ADO.net Entity Data Model - > Code-First from database。これにより、データベースのすべてのテーブルがWeb APIプロジェクトにインポートされます。Database Initializer:タイプ引数 'Configuration'が制約タイプ 'DbContext'を継承または実装していません
次に、thisブログの投稿に続いて、私はステップ1 &をスキップし、ステップ3に進みました。次に、ステップ4で、私は新しいプロジェクトを行っているので、Database-Firstからプロジェクトを移行しません。代わりに、データベースの初期化子を設定するための新しいクラスを作成するのではなく、誰かが私は私のDbContextクラスのコンストラクタ内でこのスニペットを置くことが示唆された:
Database.SetInitializer(new MigrateDatabaseToLatestVersion<Migrations.Configuration, WorkflowDbContext>());
私は私のDbContextクラスに与えられたコードを実装した後、これは次のとおりです。
Partial Public Class DbContext1
Inherits DbContext
Public Sub New()
MyBase.New("name=DbContext1")
Database.SetInitializer(New MigrateDatabaseToLatestVersion(Of Migrations.Configuration, DbContext1))
End Sub
しかし、私はこれを行う際に、上記の私のコード内のキーワードでエラーが、私は以下のように要約:
- SetInitializer:「タイプA構成 'Configuration'は、制約タイプ 'DbContext'を継承または実装しません。 "
- Migrations.Configuration:"タイプ引数 'Configuration'は、制約タイプ 'DbContext'を継承したり実装したりしません。 "
- DbContext1:"型引数 'DbContext1'は、制約タイプ 'DbMigrationsConfiguration(Of Configuration)'を継承または実装しません。 「
今
、私は自動的にEF-コード最初を使用してデータベースからインポートされたモデルクラスを(外部キーとナビゲーションプロパティを追加すること)を変更しています。これは、i「は問題に原因であります今直面メートル
誰かが私は問題を修復するために何をすべきかを私に指摘してもらえ
P/S:??
- 私は一つだけDbContextと1つの設定を持っています 私のプロジェクト。
- 上記のコードはまだ動作していないので、試してみるためにステップ4をスキップしました。私はConnectionStringがすでにDbContext型であるので、ステップ5をスキップしました。だから私はステップ6に進みました。驚いたことに、それは働いた!私はAdd-Migrationイニシャルを実行しましたが、今は「initial」クラスが作成されています。しかし、これらのステップをスキップすると後で影響が出るのではないかと心配しています。それは? DbContext1、Migrations.ConfigurationのMigrateDatabaseToLatestVersion()へ (Migrations.Configuration、DbContext1のうち)
母愚かme..itが機能するようになりましたargumenあなたがタイプの順序を逆転させたと思います。 。どうもありがとう! – Nurul
私は、「マイグレーションの初期設定」を再入力することによってマイグレーション「初期」を再構築し、「マイグレーションのためのデザイナーコード「初期」のみが再スキャフォールドされている」と言いました。 "私の場合、移行全体を再構築する必要がありますか? – Nurul