我创建了一个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'.
可以在ASP.NET Core 1中使用EF6吗?
答案 0 :(得分:3)
您可以将Entity Framework 6
与ASP.Net Core 1.0一起使用。示例应用程序can be found on Github。
为了使它工作,你必须按照repo中的说明(下面我粘贴关键部分,但我鼓励你检查存储库中的那些):
在project.json中:
- 从目标框架中删除netcoreapp1.0并添加net451。
- 删除所有EF Core并将Migrator.EF6.Tools + EF6添加到您的依赖项
Inside Startup.cs:
- 删除与EF Core相关的所有内容。
- 只需将您的数据库上下文添加到服务:
services.AddScoped<ApplicationDbContext>();
下一步:
删除&#34;迁移&#34;或者&#34;数据/迁移&#34; EF Core生成的文件夹。
最后:
dotnet ef migrations enable
dotnet ef migrations add InitialCreate
dotnet ef database update
请注意,您可以使用另一个名为MR.AspNet.Identity.EntityFramework6的项目来将Asp.Net核心标识与Entity Framework 6进行桥接。
答案 1 :(得分:0)
您不能将Entity Framework 6
与.Net Core 1.0一起使用。有一个专为Entity Framework Core 1.0
开发的.Net Core 1.0
包。您需要安装它以在.Net Core 1.0项目中使用。
https://blogs.msdn.microsoft.com/dotnet/2016/06/27/entity-framework-core-1-0-0-available/
使用Nuget Package Mangager Console安装。
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/
你可以在谷歌找到这么多文章。