Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架-已定义_C#_.net_Entity Framework_Entity Framework 4_Edmx - Fatal编程技术网

C# 实体框架-已定义

C# 实体框架-已定义,c#,.net,entity-framework,entity-framework-4,edmx,C#,.net,Entity Framework,Entity Framework 4,Edmx,我以前从未遇到过EDMX文件的问题。当网站运行或我调试时,EF似乎是随机的,它会爆炸并抱怨一切都被重新定义了。我必须重新启动应用程序池,每次都重新连接调试器,然后从我离开的地方重新启动,之后它会再次工作,直到下一次它爆炸出来 我已经用不同的名称重新创建了EDMX,因此我的外观*1* 错误是: Error: Schema specified is not valid. Errors: App_Code.Fck.csdl(3,4) : error 0019: The EntityContainer

我以前从未遇到过EDMX文件的问题。当网站运行或我调试时,EF似乎是随机的,它会爆炸并抱怨一切都被重新定义了。我必须重新启动应用程序池,每次都重新连接调试器,然后从我离开的地方重新启动,之后它会再次工作,直到下一次它爆炸出来

我已经用不同的名称重新创建了EDMX,因此我的外观*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.

可能会更改包含模型的项目的程序集名称

对原始程序集的引用仍在客户端应用程序中

ASP.net Web应用程序: -手动删除dll和pdb文件

ASP.net网站: -执行IIS重置,然后清除中的asp.net临时文件 文件夹C:\windows\microsoft.net\your framework version\temp
asp.net文件\

我也有同样的错误。这是一个关于dll的问题,在我的例子中是一个重复的dll。

我在处理允许动态加载子应用程序的程序集而不需要重新启动整个应用程序的过程时遇到了这个问题。我将EF5.0与DbContext一起使用。我的解决办法是:

  • 更改实体容器名称,使其反映程序集版本,例如CustomerEntities_1_0_7_0,并保存edmx
  • 手动修改上下文以删除版本后缀:

    public partial class CustomersEntities : DbContext
    {
    public CustomersEntities() : base("name=CustomersEntities")
    
  • 同样,手动修改app.config


  • 我也有同样的问题。实体框架生成的文件不能位于App\u Code文件夹中。我是说EDMX文件

    我打赌您有一个错误,无法引用文件,所以您从内容到编译都检查了属性。这解决了VS错误,但创建了两个实例—预编译实例和运行时编译实例


    解决方案是将其远离App_code文件夹,因为它是仅用于代码的特殊文件夹。

    我对不同的解决方案有相同的问题,我有两个使用实体框架的项目,具有相同名称的相同数据库的模型,在两个模型上添加的所有表,在内部异常消息中,解决方案是为我的案例重命名其中一个模型,删除模型并使用新名称创建它解决了此问题。

    在发布模式下清理、重建和部署。

    对于问题尚未解决的用户,请尝试在web.config中修改连接字符串

    就我而言,我改变了连接字符串

    来自

    <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文件。

    经过两天的挖掘,我终于找到了问题的原因。我有两个dll(数据库应用程序),它们指向同一项目中的同一实体框架数据库。简而言之,它有一个数据库的重复dll。删除不相关的dll后,它开始正常工作

    我最近遇到了这个异常,解决这个问题的方法是删除解决方案Bin文件夹中引用的旧DLL或重复DLL。这完全解决了我的问题。

    这是一个标准的ASP.NET网站,不是一个应用程序,因此没有编译的bin目录。这解决了我的问题--我将dll部署到GAC,但忘记将其从bin目录中删除以管理员模式重置IIS run CMD并运行“iisreset-restart”。我的临时asp文件位于C:\Users\MyUsername\AppData\Local\temp\Temporary asp.NET文件中是的,我必须清除我的bin文件夹。对我来说,我在部署到Server2003站点时遇到了这个错误。我已经重命名了一个项目,旧的程序集(.dll)就在那里。由于连接字符串以“res://*;…”开头,因此它搜索了所有程序集(甚至是未加载的程序集)以查找资源,并找到了重复项(显然)。这就是我对此类工作的理解。在没有搜索StackOverflow或浪费数小时时间的情况下,任何人都应该如何解决此类问题?我自己也遇到了这个问题,令人失望的事实是,上述答案实际上就是解决方案。当然非常感谢Damith,但是如果没有这个答案的话,我的想法会很奇怪。难以置信的是,这个解决方案对我也很有效。我惊呆了。我在同一个解决方案中有两个项目,它们都将模型命名为“EISContext”。每次运行时都会出现异常,直到我将其中一个项目中的模型名称更改为“BatchEISContext”。在我的情况下,我将一个项目移动到另一个解决方案中并重命名了该项目。从未在bin文件夹中删除旧项目名称的dll。这导致了冲突。从bin中删除旧项目名称dll修复了该问题。