多くのEntity Frameworkモジュールを含むソリューション(WCFサービス)があります。各dllの名前はそれぞれ異なります。テスト環境への昇格時にエンティティコンテナが一意である必要があります。
私(と私の同僚)がローカルで実行すると、すべて正常に動作します。自動ビルドを実行してファイルをDev Serverにコピーすると、すべて正常に動作します。それは、その後、それぞれがすでに定義されたことを言って、私のスキーマのすべての部分で、次の
Resolution of the dependency failed, type = "OrderManagementInterfaces.IOrderModel", name = "(none)".
Exception occurred while: Calling constructor OrderDAL.OrderEntities(System.String connectionString).
Exception is: MetadataException - Schema specified is not valid. Errors:
OrderDataModel.csdl(3,4) : error 0019: The EntityContainer name must be unique. An EntityContainer with the name 'OrderEntities' is already defined.
:我々はテストサーバーにファイルをコピーするとき
は、しかし、私はエラーを取得します。最初にこのエラーが発生したとき、それは同じ種類のエラーでしたが、別のEntity Frameworkモジュールのエラーでした。 (それが重要かどうか分かりません)
私の質問です:これを引き起こす可能性のあるIIS設定はありますか?なぜ私のdevサーバーで動作し、テストサーバーでは動作しませんか?
そして、私はそれを修正するために何ができますか?
注:重複したモジュールまたはコンテナ名があるかどうかを何度も確認しました。 OrderEntitiesという名前のモジュールとコンテナが1つしかありません。
これは接続文字列のメタデータ部分の産物であることがあります。私の接続文字列は次のようになります。
metadata=res://*/OrderDataModel.csdl|res://*/OrderDataModel.ssdl|res://*/OrderDataModel.msl;provider=...
他のすべては、データモデル名が異なる以外は同じです。
注:私はIISに展開します。私はすべてのファイルを削除し、オートビルドのものだけをコピーします。 (両方の場所に同じものがあります)
[C# - Entity Framework - EntityContainerの名前は一意でなければなりません。 「Entities」という名前のEntityContainerは既に定義されている](http://stackoverflow.com/questions/2060278/c-sharp-entity-framework-the-entitycontainer-name- must-be-new-anent-entityc) –
@CraigStuntz - その1つの答えは、 "あなたの2つのEDMXファイルはおそらく同じエンティティコンテナ名を持っています"私は明らかに私の質問に私の場合ではないと述べています。 – Vaccano
いいえ、モジュール名が異なることを明示しています。コンテナ名が異なるとは言いません。それらは2つの異なるものです。 –