使用ASP.NET Core RC 2和Entity Framework核心创建数据库

时间:2016-05-25 19:12:53

标签: asp.net-core entity-framework-core

这是一个非常广泛和普遍的问题。请指教。

我尝试启动一个ASP.NET核心项目,但在生成数据库时失败了。

我无法得到任何工作。重新安装工作室时,我丢失了代码。

有人会如此善意地指导并提供上下文和启动类(等等)的工作示例吗?

如果您还提供安装和使用dotnet命令的示例,我将不胜感激。

3 个答案:

答案 0 :(得分:3)

是的,您可以首先使用Entity Framework代码创建数据库,就像以前的ASP.NET版本一样。但是,它有点不同,因为您不使用Visual Studio,而是打开cmd.exe。导航到项目的src文件夹,然后输入以下命令:

dotnet ef迁移添加firstMig -c DbContextName

这将在项目中创建一个名为migrations的文件夹,以及一个初始迁移文件和一个' firstMig' file(我们正在创建的迁移的名称。这些迁移将用于使用以下命令更新数据库:

dotnet ef数据库更新-c DbContextName

我最近发布了一篇博文,这是一篇逐步介绍如何设置ASP.NET RC2 with Entity Framework code first on a PostgreSQL database的教程。希望这有用!

答案 1 :(得分:1)

如果您正在使用 EF core 1.0 RC2 ,则可以通过以下步骤来构建现有数据库:

  1. 从Package Manager控制台安装实体框架

    • 安装包Microsoft.EntityFrameworkCore.SqlServer -Pre
    • 安装包Microsoft.EntityFrameworkCore.Tools -Pre (这可能需要一段时间才能完成)
    • 安装包Microsoft.EntityFrameworkCore.SqlServer.Design -Pre
  2. 打开project.json 并找到工具部分,如果以下代码已存在,请添加

    " tools":{ " Microsoft.EntityFrameworkCore.Tools":{ "版本":" 1.0.0-preview1-final", "进口":{ "便携式net45 + win8的+ dnxcore50&#34 ;, "便携式net45 + win8的" } },

  3. 在模型目录中反转您的模型

    • 转到您的项目目录:cd \ src \ myproject(模型目录前一个级别
    • 运行: Scaffold-DbContext"' Server = servername; Database = databasename; Trusted Connection = True'" Microsoft.EntityFrameworkCore.Sqlserver -OutputDir Models
  4. N.B。 =我正在使用MS SQl Server。如果您从https://www.microsoft.com/en-us/download/details.aspx?id=50395实验问题更新到最新的PowerShell工具。希望这有帮助。

答案 2 :(得分:0)

对于数据库

我不确定数据库迁移是否完全受支持。现在,我手动设置,这根本不好或很麻烦。这意味着我创建一个空白数据库,然后针对它运行一组脚本来创建和填充表。然后我手工编写上下文和模型类。

以下是我放在一起的示例项目:https://github.com/mw007/adventure-works。它非常简单并且做得不多,但它的目的是展示一切正常的工作。

它是一个ASP.NET Core RC2应用程序,通过NpgSQL支持EntityFrameworkCore和PostgreSQL。上下文和模型类位于Models目录中。

随时回答有关上下文或模型的任何具体问题。我之前引用的数据库脚本位于dockerfiles/adventureworks目录中。

对于dotnet命令

通常,您有两件事需要记住:dotnet restoredotnet run

dotnet restore会删除project.json文件中定义的所有依赖项。

dotnet run运行您的应用(或project.json中定义的任何特定内容)。