32

これまで遭遇したことのない EDMX ファイルに問題があります。サイトの実行中またはデバッグ中にランダムに見えるように、EF は爆撃し、すべてが再定義されていると不平を言います。アプリ プールを再起動し、デバッガーを毎回再接続する必要があります。その後、中断したところからやり直します。その後、次に爆発するまで再び機能します。

別の名前で EDMX を既に再作成したため、MyAppEntities* 1 *

エラーは次のとおりです。

Error: Schema specified is not valid. Errors: App_Code.Fck.csdl(3,4) : 
error 0019: The EntityContainer name must be unique. An EntityContainer with the name 'MyAppEntities1' is already defined. App_Code.Fck.csdl(69,4) : 
error 0019: Each type name in a schema must be unique. Type name 'FckModel.AdSection' was already defined. App_Code.Fck.csdl(79,4) : 
error 0019: Each type name in a schema must be unique. Type name 'FckModel.AgeRating' was already defined. App_Code.Fck.csdl(89,4) : 
error 0019: Each type name in a schema must be unique. Type name 'FckModel.Comment' was already defined. App_Code.Fck.csdl(101,4) : 
error 0019: Each type name in a schema must be unique. Type name 'FckModel.ContentImage' was already defined. App_Code.Fck.csdl(115,4) : 
error 0019: Each type name in a schema must be unique. Type name 'FckModel.ContentVideo' was already defined. App_Code.Fck.csdl(126,4) : 
error 0019: Each type name in a schema must be unique. Type name 'FckModel.FeaturePlan' was already defined. App_Code.Fck.csdl(142,4) : 
error 0019: Each type name in a schema must be unique. Type name 'FckModel.Flick' was already defined. App_Code.Fck.csdl(165,4) : 
error 0019: Each type name in a schema must be unique. Type name 'FckModel.Gallery' was already defined. App_Code.Fck.csdl(184,4) : 
error 0019: Each type name in a schema must be unique. Type name 'FckModel.Genre' was already defined. App_Code.Fck.csdl(197,4) : 
error 0019: Each type name in a schema must be unique. Type name 'FckModel.Like' was already defined. App_Code.Fck.csdl(208,4) : 
error 0019: Each type name in a schema must be unique. Type name 'FckModel.Meta' was already defined. App_Code.Fck.csdl(216,4) : 
error 0019: Each type name in a schema must be unique. Type name 'FckModel.Payment' was already defined. App_Code.Fck.csdl(236,4) : 
error 0019: Each type name in a schema must be unique. Type name 'FckModel.StatusUpdate' was already defined. App_Code.Fck.csdl(246,4) : 
error 0019: Each type name in a schema must be unique. Type name 'FckModel.UserProfile' was already defined. App_Code.Fck.csdl(277,4) : 
error 0019: Each type name in a schema must be unique. Type name 'FckModel.FK_FeaturePlans_AdSections' was already defined. App_Code.Fck.csdl(289,4) : 
error 0019: Each type name in a schema must be unique. Type name 'FckModel.FK_Flicks_AgeRatings' was already defined. App_Code.Fck.csdl(301,4) : 
error 0019: Each type name in a schema must be unique. Type name 'FckModel.FK_Comments_Users' was already defined. App_Code.Fck.csdl(313,4) : 
error 0019: Each type name in a schema must be unique. Type name 'FckModel.FK_Payments_FeaturePlans' was already defined. App_Code.Fck.csdl(325,4) : 
error 0019: Each type name in a schema must be unique. Type name 'FckModel.FK_Flicks_Users' was already defined. App_Code.Fck.csdl(337,4) : 
error 0019: Each type name in a schema must be unique. Type name 'FckModel.FK_Genres_Genres' was already defined. App_Code.Fck.csdl(349,4) : 
error 0019: Each type name in a schema must be unique. Type name 'FckModel.FK_Likes_Users' was already defined. App_Code.Fck.csdl(361,4) : 
error 0019: Each type name in a schema must be unique. Type name 'FckModel.FK_Payments_Users' was already defined. App_Code.Fck.csdl(373,4) : 
error 0019: Each type name in a schema must be unique. Type name 'FckModel.FK_StatusUpdates_Users' was already defined. App_Code.Fck.csdl(385,4) : 
error 0019: Each type name in a schema must be unique. Type name 'FckModel.FlickGenres' was already defined. App_Code.Fck.csdl(389,4) : 
error 0019: Each type name in a schema must be unique. Type name 'FckModel.User' was already defined. App_Code.Fck.csdl(401,4) : 
error 0019: Each type name in a schema must be unique. Type name 'FckModel.FK_Users_be_Users' was already defined. App_Code.Fck.csdl(413,4) : 
error 0019: Each type name in a schema must be unique. Type name 'FckModel.ContentImageSet' was already defined. App_Code.Fck.csdl(426,4) : 
error 0019: Each type name in a schema must be unique. Type name 'FckModel.FK_ContentImages_ContentImageSets' was already defined.
4

10 に答える 10

56

モデルを含むプロジェクトのアセンブリ名が変更される場合があります。

元のアセンブリへの参照は、まだクライアント アプリケーションにありました。

ASP.net Web アプリケーション: - dll ファイルと pdb ファイルを手動で削除します。

ASP.net Web サイト: - IIS のリセットを実行し、C:\windows\microsoft.net\your framework version\temp asp.net files\ フォルダーにある asp.net 一時ファイルをフラッシュします。

于 2011-07-24T16:26:04.407 に答える
4

問題がまだ解決されていない場合は、web.config の接続文字列を変更してみてください。

私の場合、connectionStringを変更しました

から

<add name="StudentRegistrationDB" connectionString="metadata=res://*/App_Code.EFDataModel.StudentReg.csdl|res://*/App_Code.EFDataModel.StudentReg.ssdl|res://*/App_Code.EFDataModel.StudentReg.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.;initial catalog=StudentRegistration;integrated security=True;multipleactiveresultsets=True;application name=EntityFramework&quot;" providerName="System.Data.EntityClient" />

に:

 <add name="StudentRegistrationDB" connectionString="metadata=res://App_Code.EFDataModel2.StudentRegDB.csdl|res://App_Code.EFDataModel2.StudentRegDB.ssdl|res://App_Code.EFDataModel2.StudentRegDB.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.;initial catalog=StudentRegistration;integrated security=True;multipleactiveresultsets=True;application name=EntityFramework&quot;" providerName="System.Data.EntityClient" />

メタデータが絶対位置を指すように、メタデータの「スター」が削除されていることに注意してください。「スター」のおかげで、EF はあらゆる場所を検索しています。したがって、重複が発生する可能性があります

注: これは単純な修正であり、重複データを消去していないことを意味します。これはお勧めできません。最善の方法は、以前の回答で提案されているように、重複した .pdb/.dll ファイルを削除することです。

于 2016-12-04T13:28:07.940 に答える
4

これと同じエラーが発生しました。これは dll に関する問題です。私の場合、重複した dll でした。

于 2013-01-15T10:55:28.977 に答える
3

私は異なるソリューションで同じ問題を抱えていました.エンティティフレームワークを使用する2つのプロジェクトがあり、同じ名前の同じデータベースのモデルがあり、両方のモデルに追加されたすべてのテーブルが内部例外メッセージで解決されました.モデルの 1 つの名前を変更する

于 2015-01-20T05:05:10.497 に答える
2

私はちょうど同じ問題を抱えていました。Entity Framework で生成されたファイルを App_Code フォルダーに配置することはできません。私はEDMXファイルを意味します。

ファイルを参照できなかったというエラーが発生したに違いないので、Content から Compile へのプロパティを確認しました。それはVSエラーを解決しましたが、二重のインスタンスを作成しました-プリコンパイルされたインスタンスとランタイムコンパイルされたインスタンス。

解決策は、コード専用の特別なフォルダーであるため、App_code フォルダーから遠ざけることです。

于 2013-12-18T20:29:17.397 に答える
-1

クリーン、リビルド、リリース モードでのデプロイ。

于 2016-11-18T06:41:44.510 に答える