【问题标题】:MySQL Entity Framework 6: Database First. How to create classes?MySQL Entity Framework 6:数据库优先。如何创建类?
【发布时间】:2017-05-31 01:45:42
【问题描述】:

到目前为止,我一直在将 EF6 与 Visual Studio 一起使用,主要是代码优先,很少是数据库优先。

为了导入一些测试数据,有人给了我到 MySQL 数据库的连接。在 MySql Workbench 中我可以查询数据,所以连接正常。

现在我想创建一个 Entity Framework Database First 项目并导入数据库模型。在 Visual Studio 中

  • 创建项目,
  • 添加 nuget:Entity Framework 最新版本 (6.1.3)
  • 为 EF 6 添加 nuget:MySql.Data.entities
  • 添加新项目

现在呢?有一个 EF 6.X DbContext 生成器,但是在我得到模型之前那个不能工作

我可以做我平时做的事:

  • 选择 ADO.NET 实体数据模型
  • 来自数据库的 EF 设计器
  • 现在呢?如何连接MySql?

加法

Mehmet 将我推荐给 MySql EF6 Support(感谢 Mehmet),这是我在谷歌上搜索时首先出现的页面。也许这是正确的方法,但我不明白它说的是什么第一步:添加连接字符串并添加引用(= 安装 nuget 包?)我可以管理,但之后对我来说都是希腊语:

  • 为 MySql 设置新的 DbConfiguration 类。 新的DbConfiguration?哪个DbConfiguration 类?在哪里以及如何为 MySQL 设置它?
  • DbConfigurationTypeAttribute 添加到DbContext。唉,我还没有DbContext,它不是代码优先,而是数据库优先:应该由某个向导为我确定DbContext 中的DbSets

所以也许这是要走的路,但这对我来说太神秘了。

【问题讨论】:

  • 您可以在以下链接找到您的需求dev.mysql.com/doc/connector-net/en/…
  • 没有,我终于用Dapper从旧数据库中读取所有数据,并使用实体框架code-first将读取的数据插入到新数据库中
  • 我相信你想做的就是脚手架。我也有同样的情况。

标签: mysql entity-framework ef-database-first


【解决方案1】:
  1. 需要在您的 NuGet 管理员上安装一些 NuGet
    microsoft.EntityFrameworkCore
    microsoftEntityFrameworkCore.Tools
    Microsoft.NETCore.App
    Pomelo.EntityFrameworkCore.MySQL
    
  2. 拥有所有 NuGet 后,您需要将其应用到包控制台管理员:
    Scaffold-DbContext 
    "Server=localhost;Database=database_name;User=root;Password=123456;" 
    "Pomelo.EntityFrameworkCore.MySql" -Outputdir Models
    

这将为您的所有模型创建一个上下文,还将为您的数据库创建一些模型。

【讨论】:

    猜你喜欢
    • 2016-03-31
    • 1970-01-01
    • 2014-01-20
    • 2013-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-13
    相关资源
    最近更新 更多