实体框架DB第一种方法用于.NET核心类库项目" Microsoft.EntityFrameworkCore.Tools"

时间:2016-10-12 19:43:19

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

我正在使用Visual Studio 2015并尝试安装依赖项来构建我的数据库类。这是Project.json:



{
  "version": "1.0.0-*",

  "dependencies": {
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.1",
    "Microsoft.EntityFrameworkCore.SqlServer.Design": "1.0.1",
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final",
    "NETStandard.Library": "1.6.0"
  },

  "frameworks": {
    "netstandard1.6": {
      "imports": "dnxcore50"
    }
  },

  "tools": {
    "Microsoft.EntityFrameworkCore.Tools": {
      "version": "1.0.0-preview2-final",
      "imports": "net451"
    }
  }
}




但是,未安装 Microsoft.EntityFrameworkCore.Tools":" 1.0.0-preview2-final ,说明此错误:

enter image description here

如何解决此问题?

1 个答案:

答案 0 :(得分:0)

由于EF与.NET Standard不兼容,我们必须使类库与.NET Core一起使用。添加必要的依赖项,然后将库修改为启动。

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

打开软件包管理器控制台,然后安装以下软件包:

  • 运行Install-Package Microsoft.EntityFrameworkCore.SqlServer
  • 运行Install-Package Microsoft.EntityFrameworkCore.Tools -Pre
  • 运行Install-Package Microsoft.EntityFrameworkCore.SqlServer.Design

将必要的工具添加到project.json

tools": {
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final"
}

project.json应该类似于:

{
  "buildOptions": {
    "emitEntryPoint": true
  },
  "frameworks": {
    "netcoreapp1.0": {}
  },
  "dependencies": {
    "Microsoft.NETCore.App": {
      "version": "1.0.0",
      "type": "platform"
    },
    "Microsoft.EntityFrameworkCore.Tools": {
      "version": "1.0.0-preview2-final",
      "type": "build"
    },
    "Microsoft.EntityFrameworkCore.SqlServer.Design": "1.0.1",
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.1"
  },
  "tools": {
    "Microsoft.EntityFrameworkCore.Tools": {
      "version": "1.0.0-preview2-final"
    }
  }
}

现在,创建一个名为“Models”的文件夹,您生成的类将驻留在那里。

现在,运行以下命令来构建数据库:

  Scaffold-DbContext "Server=YourServer;Database=YourDB;User Id=sa;Password=yourPassword;"
 Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models