【问题标题】:Entity Framework - Code First Bug [closed]实体框架 - Code First Bug [关闭]
【发布时间】:2012-09-12 00:18:40
【问题描述】:

我正在使用带有 DBContext 的代码优先和没有配置文件(所有默认值)的实体框架 5。我安装了默认实例 .\SQLEXPRESS 的 SQL Server 2008 R2 以及 SQL Server 2012 Express LocalDB (localdb)\v11.0)。

框架似乎无法同时处理这些,并在我运行我的应用程序时引发异常。我通过删除 SQL Server 2012 Express LocalDB 确认它工作正常。

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

编辑 -

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

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

【问题讨论】:

  • 如果您阅读了我的评论,则毫无疑问。只是向用户和实体框架团队报告可能的错误。 Entity Framework 团队使用这个论坛的次数比他们使用 Microsoft 论坛的次数多,所以我在这里发帖。
  • 我还没有看到人们不提供连接字符串的应用程序(即使用默认值)。此问题不适合本网站的问答形式。
  • 首先,您需要学习 Entity Framework,这是微软未来所有软件开发的首选解决方案。 Stackoverflow 网站上有一些很好的例子。其次,这个论坛多年来为我节省了无数小时的工作时间,我只是想回报其他开发人员的青睐。我可能应该将这篇文章标记为讨论而不是问题,以避免你明显的困惑。

标签: entity-framework sql-server-express nuget-package


【解决方案1】:

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

【讨论】:

  • 谢谢。我将继续使用 codeplex。
猜你喜欢
  • 2016-01-27
  • 1970-01-01
  • 1970-01-01
  • 2017-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多