【问题标题】:Database first migration EF Core数据库首次迁移 EF Core
【发布时间】:2016-12-19 10:47:54
【问题描述】:

我正在尝试将 NORTWIND 数据库迁移到带有 EF Core 的测试项目。我在网络的帮助下克服了一些障碍,但现在我被困住了。因此,如果有人能对我的问题有所了解,我会非常高兴。也许为我指明正确的方向。

问题: 当我跑步时:

Scaffold-DbContext "Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=NORTHWND;Integrated Security=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir 模型

在 VS 的包管理器控制台中,我收到消息构建错误。我无法确定问题所在,因此很难在网上搜索解决方案。

这是我的项目。Json:

 "dependencies": {
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0",
"Microsoft.EntityFrameworkCore.SqlServer": "1.1.0",
"Microsoft.EntityFrameworkCore.Design": "1.1.0",
"Microsoft.EntityFrameworkCore.SqlServer.Design": "1.1.0",
"BundlerMinifier.Core": "2.2.306",
"Microsoft.ApplicationInsights.AspNetCore": "1.0.2",
"Microsoft.AspNetCore.Diagnostics": "1.1.0",
"Microsoft.AspNetCore.Mvc": "1.1.0",
"Microsoft.AspNetCore.Razor.Tools": "1.1.0-preview4-final",
"Microsoft.AspNetCore.Routing": "1.1.0",
"Microsoft.AspNetCore.Server.IISIntegration": "1.1.0",
"Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.1.0-preview4-final",
"Microsoft.AspNetCore.Server.Kestrel": "1.1.0",
"Microsoft.AspNetCore.StaticFiles": "1.1.0",
"Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.1.0",
"Microsoft.Extensions.Configuration.Json": "1.1.0",
"Microsoft.Extensions.Logging": "1.1.0",
"Microsoft.Extensions.Logging.Console": "1.1.0",
"Microsoft.Extensions.Logging.Debug": "1.1.0",
"Microsoft.Extensions.Options.ConfigurationExtensions": "1.1.0"
  },

 "tools": {
"Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final"
  },

这是我得到的错误:

这是错误代码:

如果您想从我的项目中获得其他内容,请告诉我。我知道从我提供的信息中可能很难提供帮助。但我很乐意发布更多信息。告诉我你想看什么。

感谢所有帮助和提示!

【问题讨论】:

  • 你遇到什么错误?
  • 尝试先从 VS 构建项目(而不是从包管理器控制台),它可能会为您提供有关构建错误的更多详细信息。
  • 您的项目构建失败,在项目构建之前您无法运行脚手架。它与 EF 或脚手架命令无关。在顶部菜单中,单击“查看”>“错误列表”以查看阻止其构建的错误。
  • 我用错误列表图片更新了初始帖子。
  • 尝试在 project.json 中将 netcoreapp1.0 更改为 netcoreapp1.1 应该没问题。

标签: c# entity-framework entity-framework-core


【解决方案1】:

下面的链接显示了分步过程。我通过使用 -pre 选项更新所有软件包并在 PC 上安装 dotnet core 1.1 解决了 VS 2017 RC 的一些问题。

https://docs.microsoft.com/en-us/ef/core/get-started/aspnetcore/existing-db

;-)

【讨论】:

  • 重新启动了一个新项目,并按照您共享的链接中的教程进行操作。仍然构建错误..
  • 抱歉,您已在 PMC 上尝试过此操作(我假设您的选择是具有个人用户身份验证的 Web 应用程序):Install-Package Microsoft.EntityFrameworkCore.Tools.DotNet -pre Install-Package Microsoft。 AspNetCore.Razor.Tools -pre Install-Package Microsoft.AspNetCore.Server.IISIntegration.Tools -pre
  • 也尝试更新你的sdk核心:microsoft.com/net/download/core#/current
  • 对不起。更新了 SDK 和所有包,但没有运气
  • 我在 VS 2017 RC 中尝试过并且可以工作...对不起...但是如果我可以提供建议,您应该尝试下载它,因为如果您开发 dotnet core,该项目环境。又变了。您没有 project.json,但有一个 csproj 配置文件、凉亭和更多东西。我已经放弃 VS2015 到 VS2017 ......祝 Luca 好运
【解决方案2】:

您似乎缺少以下参考资料:

Microsoft.EntityFrameworkCore.Relational 
Micorsoft.EntityFrameWorkCore.Relational.Design

您可能还需要:

Microsoft.AspNetCore.Hosting.Abstractions
Microsoft.AspNetCore.Hosting.Server.Abstractions
Microsoft.AspNetCore.Http.Abstractions

【讨论】:

  • 如果您的服务器是域的一部分,您的连接字符串将需要更改为:Server=(localdb)\\domain\\mssqllocaldb;Data Source=xxxxxxx;Initial Catalog=NorthwindDb;Trusted_Connection=True;
【解决方案3】:

您好,感谢大家的帮助。最后导入一个数据库。所做的事情是通过解决方案的 NuGet 包管理器更新解决方案并将这些行添加到依赖项中:

"Microsoft.NETCore.App": {
      "version": "1.1.0",
      "type": "platform"
    },

   "runtimes": { "win10-x64": {} },

再次感谢大家的建议!!!! 您如何将复选标记放在多个答案上?因为大家的回答终于让我解决了问题。

【讨论】:

  • 您可以对有帮助的答案和 cmets 进行投票,但只检查一个最完整且回答最正确的答案。
猜你喜欢
  • 2018-06-19
  • 2019-08-03
  • 1970-01-01
  • 2022-09-29
  • 2020-01-25
  • 1970-01-01
  • 1970-01-01
  • 2019-02-25
  • 1970-01-01
相关资源
最近更新 更多