2016-03-28 12 views
-1

私は 1.データ 2. DATAACCESS 3.ビジネスロジックと 4.クライアントはentityframework

は、それらがすべてのC#コンソールプロジェクトであるn層のC#コンソールアプリケーションを作成していますでの接続文字列を見つけることができませんでした。 私はedmxデータモデルとコンテキストクラスをデータレイヤー に作成してから、これらのオブジェクトにDataaccess、Business、そしてfinnallyクライアントにアクセスしました。 しかし、エンティティがクライアントからデータレイヤーへ行くときに、データレイヤー上でコンテキスト接続が行われます。データ層app.configにはedmxファイルの接続文字列名がありますが、 '接続名エンティティはアプリケーション設定で見つかりませんでした'と言います。私が個別にデータレイヤーコンソールを実行するとうまく動作します。 エラーはなぜですか?

+0

あなたは、前者、後者ではないが必要で、app.configをかMyDataLayerApp.exe.configファイルをコピーしています。 – CodingGorilla

答えて

0

何とか設定ファイルは、実行されているプロジェクトになければなりません。だから、

+1

はい。 「Entities」という名前の接続文字列をスタートアップコンソールアプリケーションにコピーします。 (私はあなたが最初に「クライアント」コンソールアプリケーションを起動していると思います) –

+0

が、なぜそれがデータ層にすでにあるときに動作しないのだろうか?なぜなら私はデータレイヤー上にコンテキストを作成したからです。 – Belayet

+0

あなたが設定ファイルに設定を持つようにしたい場合は、それが起動し、プロジェクトの設定ファイルである必要があります。それはそうです。あなたはそれを回避したい場合(私は完全に願望を理解して)ライブラリプロジェクト内のコードでコンフィギュレーションを設定します。 – Divisadero

0

接続文字列もまた、それはそれはあなたが参照しているプロジェクトライブラリにのみある場合..この接続文字列をコピーし、あなたにそれを貼り付けてください動作しないでしょうあなたの主なプロジェクトにする必要があり、クライアントにそれを配置する必要がありますメインプロジェクトの "Web.configまたはApp.config(適用可能なもの)"