实体框架程序集中的重复类型名称(6.1.0)

Cod*_*ian 43 c# linq sql-server entity-framework visual-studio-2013

我不确定发生了什么,但在进行查询时我一直收到以下异常."程序集中的重复类型名称." 我无法在网上找到解决方案.我通过从解决方案中的所有项目中删除实体框架并使用nugget重新安装来解决了这个问题.然后突然间异常又回来了.我一遍又一遍地验证了我的表架构并且没有发现任何问题.

这是导致异常的查询.

    var BaseQuery = from Users in db.Users
            join UserInstalls in db.UserTenantInstalls on Users.ID equals UserInstalls.UserID
            join Installs in db.TenantInstalls on UserInstalls.TenantInstallID equals Installs.ID
            where
                Users.Username == Username
                && Users.Password == Password
                && Installs.Name == Install
            select Users;

    var Query = BaseQuery.Include("UserTenantInstalls.TenantInstall");

    return Query.FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

正如我之前提到的,同样的查询之前是有效的.数据没有改变,代码也没有改变.

Cha*_*man 64

作为一种解决方法,只有在使用调试器进行单步执行时才会发生这种情况.如果您将断点在源内放置几行,则错误将不会显示.

我没有卸载,这至少让我继续工作.

  • 虽然它不直观......这实际上是问题所在. (5认同)
  • +1我不知道如何或为什么,但这确实有效.只是为了澄清遇到这个问题的其他人,第一个断点必须是在通常抛出异常之后.暂停之前的任何地方,然后在stil之后跳转到一行似乎打破了它. (3认同)

yoh*_*oho 19

这是EF 6.1.0的新问题,EF团队意识到了这个问题:

https://entityframework.codeplex.com/workitem/2228

  • 作为一个懒惰的家伙的解决方法,我安装了6.0.0版本,这个问题很糟糕.在nuget控制台中运行此命令:"install-package EntityFramework -version 6.0.0" (3认同)

San*_*ndy 12

在我WCF webservice最近面临同样的问题.只需清理您的解决方案并重建它.这应该解决问题.

  • 不,我只是在shitline之后设置断点并解决了它 (2认同)

小智 0

昨天也遇到了同样的问题,花了几个小时才解决。使用 EF 6.1.0,执行 linq toEntity 查询时出错,与上面类似。我的解决方案是停止 IIS Express,清理解决方案,从解决方案中的所有项目中卸载 EF,关闭 VS2012,删除解决方案中的所有包文件夹/文件,然后重新启动 VS2012,在需要的地方添加 EF 6.1.0,编译,错误消失。