如何将 EF6 与 ASP.NET 核心 1 一起使用

本文关键字:核心 一起 NET ASP EF6 | 更新日期: 2023-09-27 17:56:12

我创建了一个 ASP.NET Core 1项目并使用.Net Core 1.0框架。并希望使用实体框架 6
我 https://docs.efproject.net/en/latest/platforms/aspnetcore/new-db.html 遵循本教程,当我尝试使用以下语句进行迁移时:

PM> Add-Migration MyFirstMigration

然后它告诉我:

The EntityFramework package is not installed on project 'IndustryCloud'.

是否可以将 EF6 与 ASP.NET 核心 1 一起使用?

如何将 EF6 与 ASP.NET 核心 1 一起使用

您可以将

Entity Framework 6与 ASP.Net Core 1.0一起使用。可以在Github上找到一个示例应用程序。

为了使它工作,您必须按照存储库中的说明进行操作(下面我粘贴了关键部分,但我鼓励您检查存储库中的部分):

Inside project.json:

  • 从目标框架中删除 netcoreapp1.0 并添加 net451。
  • 删除所有 EF Core 并将 Migrator.EF6.Tools + EF6 添加到依赖项

启动内部.cs:

  • 删除与 EF Core 相关的所有内容。
  • 只需将数据库上下文添加到服务中:services.AddScoped<ApplicationDbContext>();

下一个:

删除 EF Core 生成的"迁移"或"数据/迁移"文件夹。

最后:

dotnet ef migrations enable
dotnet ef migrations add InitialCreate
dotnet ef database update

请注意,您可以使用另一个名为 MR 的项目。AspNet.Identity.EntityFramework6 将 Asp.Net 核心身份与实体框架 6 桥接起来。

您不能将Entity Framework 6与.Net Core 1.0一起使用。有一个专门为.Net Core 1.0开发的Entity Framework Core 1.0包。您需要安装它才能在 .Net Core 1.0 项目中使用。

https://blogs.msdn.microsoft.com/dotnet/2016/06/27/entity-framework-core-1-0-0-available/

使用 Nuget 包管理器控制台进行安装。

PM> Install-Package Microsoft.EntityFrameworkCore.SqlServer

添加新的迁移(如果是第一个,它将添加必要的文件夹结构和类)

dotnet ef migrations add {MigrationName}

删除最近的迁移。

dotnet ef migrations remove

将数据库更新到最新版本(应用所有迁移)

dotnet ef database update

http://benjii.me/2016/05/dotnet-ef-migrations-for-asp-net-core/

你可以在谷歌上找到很多文章。