zoukankan      html  css  js  c++  java
  • EF CodeFirst关于Mysql如何自动生成数据库表

    相对于sqlserver数据库,mysql的配置过程相对麻烦一些,我们从0讲起。

    1.新建一个控制台应用程序

    右键点击引用--管理NuGet程序包,搜索Mysql.Data.Entity并安装,安装完成后在已安装选项下会有以下三项:

    在App.config文件中添加:

    <connectionStrings>
        <add name="conn" connectionString="server=localhost;port=3306;uid=root;pwd=123;database=testdb;" providerName="MySql.Data.MySqlClient" />
    </connectionStrings>

    2.分别新建实体类Person,配置类PersonConfig,上下文类MyDbContext

    注:因为Name是string类型,映射到mysql中是longtext,而mysql支持最大长度为767bytes,所以要限制长度。

    3.单击程序包管理器控制台

    输入:EntityFrameworkEnable-Migrations并回车

    在项目下会自动创建一个Migrations文件夹

    4.输入EntityFrameworkAdd-Migration InitModel    注:InitModel为本次迁移的名字,可自定义修改

    会提示错误

    因为vs默认配置的是sqlserver数据库,所以我们要手动更改为启动mysql的sql生成器

    在Migration文件夹中的配置类Congifuration的构造方法中:

    同时还要在上下文类中配置mysql

    再次输入命令

    5.输入命令EntityFrameworkUpdate-Database -v

    在数据库中刷新,已经创建好表了

    运行项目,插入数据成功。

    当实体类属性有变化时,执行第4步和第5步就可以了。

  • 相关阅读:
    ZOJ 3529
    将博客搬至CSDN
    BST 增删查操作 递归/非递归实现
    容器vector容量翻倍增长策略效率分析
    整数分解为若干项之和
    PAT-B-1080 MOOC期终成绩
    最大公约数 + 最小公倍数
    Fibonacci数
    排序
    PAT-B-1020
  • 原文地址:https://www.cnblogs.com/1016391912pm/p/12041801.html
Copyright © 2011-2022 走看看