• 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步就可以了。

  • 相关阅读:
    03:矩形分割 (二分)
    09:膨胀的木棍 (二分+角度计算)
    A Cubic number and A Cubic Number (二分) HDU
    B
    08:不重复地输出数 (set)
    10:河中跳房子 (二分)
    07:和为给定数 (二分)
    04:网线主管 (二分)
    河中跳房子
    010:输出前k大的数
  • 原文地址:https://www.cnblogs.com/1016391912pm/p/12041801.html
Copyright © 2020-2023  润新知