将EF 6(edmx)升级到EF core 2.0

时间:2019-01-03 03:46:31

标签: entity-framework-core

我有使用Angle 5 + EF 6(edmx)的应用程序。我想更改为实体框架核心。

注意:实体框架核心2.0和所有其他项目都不是核心。

致谢

1 个答案:

答案 0 :(得分:0)

如果我对您的理解正确,那么

  1. 使用scaffold功能通过命令从数据库中构建模型类
  

dotnet ef dbcontext支架   “服务器=(localdb)\ mssqllocaldb;数据库=博客; Trusted_Connection =真实;”   Microsoft.EntityFrameworkCore.SqlServer -o模型

  1. 对于stored procedures或视图,您需要手动进行以生成空迁移,然后在其中添加代码。

示例。

public partial class spGetStudents : Migration
{
    protected override void Up(MigrationBuilder migrationBuilder)
    {
        var sp = @"CREATE PROCEDURE [dbo].[GetStudents]
                    @FirstName varchar(50)
                AS
                BEGIN
                    SET NOCOUNT ON;
                    select * from Students where FirstName like @FirstName +'%'
                END";

        migrationBuilder.Sql(sp);
    }

    protected override void Down(MigrationBuilder migrationBuilder)
    {

    }
}

是的,在您搭建好脚手架之后,您将能够修改模型/实体并生成迁移,但是对于sp和view,您将手动进行。