0

DbContext のコンストラクターに接続文字列を渡したいと思います。これを行う方法は、ここで回答されています: Pass connection string to code-first DbContext

(クリックしたくない場合はコード)

public MyContext(string connString)
    : base(connString)
{

}

ただし、移行を有効にしようとすると、「ターゲット コンテキスト '...' は構築できません。デフォルト コンストラクタを追加するか、IDbContextFactory の実装を提供してください。」

また、EF PowerTools を使用してエンティティ データ モデルを生成しようとすると、次のエラーが表示されます。

これはよくある問題ですか?修正はありますが、ハックのように感じます。他の誰かが以前にこれに対処する必要がありますか?

4

1 に答える 1

4

空のコンストラクターも追加します。

public MyContext()
{
}

パラメータ化されたctorを定義すると、デフォルトのctorは非表示になります

たとえば、パラメーター付きのコンストラクターを作成すると、デフォルトのパラメーターなしのコンストラクターがなくなるのはなぜですか

これは、デフォルトの構成を外部ユーザーから「隠す」方法の 1 つでもあります。


通常、その「他の」ctor を外部に公開することさえしません。「自分の」ものとして、必要なものを内部にハードコードするだけです。または、代わりに、より良い - 「app.config」を使用して接続文字列を指定します。詳細(およびそれに関する問題)については、...を参照してください。

移行によってテーブルが変更されない 移行が
希望どおりに機能しない... Asp.net EntityFramework

于 2013-04-05T22:04:43.960 に答える