質問: test1234;'のようにフォーマットされたカスタム接続文字列を渡す機能が必要です。 編集:私のエンティティクラスはObjectContextを実装しています。私が使用できる3つのコンストラクタはデフォルトで、connectionStringを渡し、EntityConnectionを渡します。オーバーロードコンストラクタを使用すると、接続文字列の "server"を認識できないというエラーが表示されます。 カスタム接続文字列を使って自分のリポジトリをインスタンス化するか、使用前に設定できるようにする必要があります。
回答: ObjectContextは、そのコンストラクタでエンティティ接続文字列を受け入れます。エンティティ接続文字列は3つの部分で構成されています。 * メタデータの場所(EDMXファイルによって生成されたマッピングXMLの場所) * データストレージプロバイダ * データストア接続文字列(それはあなたが提供したいものです) あなたはあなたが望むものを達成するためのいくつかの方法があります。通常必要なのは、接続文字列の2つの部分を組み合わせることです。 ``` string format = "metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;provider=System.Data.SqlClient;provider connection string=\"{0}\""; string connectionString = "server=severaddress;database=database1;UserID=test;Password=test1234;" var context = ModelContext(String.Format(format, connectionString)); ``` このフォーマットは、アセンブリおよびSqlプロバイダーのリソースとして含まれているModel.edmxからのメタデータの場所を記述します。 2番目の部分はあなたの接続文字列です。 これは、すべてのデータベースが同じスキーマを持ち、同じプロバイダを使用している場合にのみ機能することに注意してください。