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

  • 相关阅读:
    UML中的构件图
    Extjs4 中的gird
    【转载】C#实现线程安全的网络流
    [转载]组播
    【转载】wcf综合运用之:大文件异步断点续传
    【转载】WCF热门问题编程示例(4):WCF客户端如何异步调用WCF服务?
    【转载】特殊用途的IP地址介绍
    [转载]C# HashTable
    c宏定义实战
    c异或加密与解密
  • 原文地址:https://www.cnblogs.com/1016391912pm/p/12041801.html
Copyright © 2011-2022 走看看