16

私はEntity Framework 5.0自分のプロジェクトに使用しています。インターネットを調べたところ、エンティティフレームワークのデータコンテキストに、接続文字列の文字列パラメーターを持つ別のコンストラクターがあることがわかりました。

私が生成data contextしたものには、そのようなコンストラクターはありません。ベースを調べたところ、DbContextそのようなコンストラクターがあります。

コードが間違って生成されましたか?データベースからコードを生成しました。これが原因でしょうか?

コード生成テンプレートファイルを編集して、新しいコンストラクターを追加できることがわかりました。これで、新しいコンストラクターが追加されました。このファイルは、edmxモデルのMyDataContext.ttファイルです。ここに、テンプレートコードと混合されたc#コードがあります。そこから引数なしのコンストラクターをコピーして、以下に貼り付けることができます。次に、それを変更して文字列引数を追加し、その引数を次のようにDbContextコンストラクターに渡すことができます:base(myString)。

4

1 に答える 1

23

必要に応じて追加できます。

生成されたファイルを確認し、オーバーロードされたコンストラクターを追加します。

public YourContext(string connectionStr)
        : base(connectionStr)
    {


    }

ただし、すべての世代で毎回手動で追加する必要があるため、部分クラスでこれを定義することをお勧めします。

于 2013-01-06T12:36:58.933 に答える