代码之家  ›  专栏  ›  技术社区  ›  user1626137

实体框架-代码优先错误〔关闭〕

  •  0
  • user1626137  · 技术社区  · 13 年前

    我正在使用实体框架5,首先使用 DBContext 并且没有配置文件(所有默认值)。我有带默认实例的SQL Server 2008 R2 .\SQLEXPRESS 已安装,还安装了SQL Server 2012 Express LocalDB( localdb)\v11.0 )。

    该框架似乎无法同时处理这些问题,并在我运行应用程序时抛出异常。我通过删除SQL Server 2012 Express LocalDB进行了确认,它运行良好。

    一个有趣的点是,当我运行NuGet在VS 2010或VS 2012中安装实体框架时,它会使VS崩溃,无法安装框架。我怀疑在这两种情况下都使用了类似的代码来查找/选择服务器。这篇文章旨在引起实体框架团队的注意,而不一定在这里解决这个问题。我很乐意提供团队可能需要的任何补充数据。

    编辑-

    我发现NuGet的问题可能暴露在哪里:

    当您安装EF NuGet包时,默认连接工厂 已注册,指向SQL Express或LocalDb,具体取决于 您已安装在哪个上。

    1 回复  |  直到 13 年前
        1
  •  0
  •   Pawel    13 年前

    很难说这是否是EF错误,因为帖子中没有足够的细节。同时拥有SqlExpress和LocalDB的场景是受支持的,应该可以工作。SqlExpress默认情况下与VS2010一起安装,但不与VS2012一起安装,因为VS2012的默认数据库解决方案是LocalDb。的确,有一段代码可以检测你的盒子上是否安装了SqlExpress,如果你安装了,它会相应地向你的配置文件中添加条目。如果您没有SqlExpress LocalDB,则默认情况下应使用VS2012上的AFAIR。我从未见过VS在安装EF nuget包时崩溃。正如我上面所说的——没有足够的细节来判断这是否是EF错误——游戏中有太多的东西,即VS本身(安装/通用组件可能会以某种方式损坏)、NuGet、PowerShell(实际安装dll的脚本是PowerShell脚本),当然还有EF。欢迎在此处报告此问题: http://entityframework.codeplex.com/ -通过这种方式,EF团队将查看该漏洞。尽可能多地提供细节,以便我们能够复制问题。