【问题标题】:EF Core cannot creating Database :( [closed]EF Core 无法创建数据库 :( [关闭]
【发布时间】:2022-01-12 08:33:23
【问题描述】:

我想使用 EF 3.1 使用代码优先技术创建数据库。但是,无论我在 EF 6.0 中尝试什么,都不会创建数据库

【问题讨论】:

  • 好吧,你能把你到目前为止尝试过的东西贴出来吗?您发布的代码不会创建任何内容。
  • 将问题中的相关代码作为文本发布,而不仅仅是 DbContext 的图像。你如何使用那个 DbContext?您是否使用dotnet ef 命令创建数据库?你收到错误了吗?还是你打电话给EnsureCreated
  • 如何/为什么混合使用 EF 6 和 EF Core?这是 2 个完全独立的产品。
  • 首先,我正在尝试使用ef core。我与ef无关。由于我的模型有点长,我在下面的例子中展示了最短的。使用系统;使用 System.Collections.Generic;使用 System.Linq;使用 System.Text;使用 System.Threading.Tasks;使用核心;命名空间实体。具体 { 公共类类别:IEntity { 公共 int CategoryID { 获取;放; } 公共字符串类别名称 { 获取;放; } } }
  • 使用系统;使用 System.Collections.Generic;使用 System.Linq;使用 System.Text;使用 System.Threading.Tasks;命名空间核心 { 公共接口 IEntity { } }

标签: c# entity-framework entity-framework-core ef-core-3.1


【解决方案1】:

首先你需要使用命令dotnet ef migrations add Initial创建迁移文件

然后您可以手动创建一个新的空数据库Adatech。或者,如果具体情况是在迁移过程中自动创建数据库,您可以添加自己的新迁移(或在创建后修改Initial)并将SQL CREATE DATABASE命令放在那里。 (不要忘记通过 Down() 方法中的回滚逻辑来补充这一点)

然后将此迁移应用到您的数据库:dotnet ef database update

上下文本身不会对您的数据库做任何事情,它只是您的应用程序范围内的数据库实体的模型。包含这些实体应如何与 db 关联的规则的模型。

更多https://docs.microsoft.com/en-us/aspnet/core/data/ef-mvc/migrations?view=aspnetcore-3.1

【讨论】:

  • 当我尝试关注 doc- 构建失败。使用 dotnet build 查看错误
猜你喜欢
  • 2021-07-03
  • 2022-07-26
  • 2017-09-26
  • 1970-01-01
  • 1970-01-01
  • 2020-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多