首先要准备一下的工具作为环境

  • MySQL Community Server 5.7.x
  • My Workbench 6.3
  • VS2017

新建一个项目,NetMySQLCodeFirst

选择MVC,再选择无用户验证

然后通过NuGet包管理器安装三个包,安装最新稳定版本即可

  • EntityFramework
  • MySql.Data
  • MySql.Data.Entity

紧接着在Models文件里面新建一个类Lexan

        public Guid LexanID { get; set; }
public string LexanName { get; set; }
public int LexanAge { get; set; }
public string LexanImage { get; set;

再继续在Models文件里面建一个类Category

        public Guid CategoryID { get; set; }
public string CategoryName { get; set; }

继续在Models文件里面建一个类CodeFirstContext

public DbSet<Lexan> Lexans { get; set; }
public DbSet<Category> Categories { get; set; }

在根目录下修改Web.Config文件,并在system.web的标签前面添加如下代码,表示连接.Net 连接MySQL字符串,密码是自己的root的登陆密码,根据实际情况修改

<connectionStrings>
<add name="CodeFirstContext" connectionString="Data Source=localhost;port=3306; Initial Catalog=LexanCodeFirstDB;uid=root; pwd=******" providerName="MySql.Data.MySqlClient" />
</connectionStrings>

完成上面的工作以后,接下来做的工作就是在NuGet的控制台去,更新我们的数据库代码后的连接设置实现我们通过LexanCodeFirstDb的数据库名已启用并将添加新的迁移。为此, 我们使用软件包管理器控制台。在控制台执行如下命令

enable-migrations

这个时候因为执行了enable-migrations命令,项目中会自动的生成Migrations文件夹,然后到这个文件夹里面去修改Configuration类里面的Configuration方法,添加如下的代码

 AutomaticMigrationsEnabled = true;
SetSqlGenerator("MySql.Data.MySqlClient", new MySql.Data.Entity.MySqlMigrationSqlGenerator());

再继续往NuGet的控制台里输入一下代码,执行数据的迁移,有提示输入名字,这个名字和项目名字是不同的

add-migration

mysql的数据库引擎代码端使用默认创建的结构, 主键也会为提到的区域返回此错误。作为此解决方案, 我们将再次升级我们的上下文模型如下。以前, 类似于我们在上面设置的 SqlGenerator, 然后去修改codeFirstContext类,如下所示

继续在NuGet控制台执行如下代码更新数据库

update-database

到这里我们的工作全部完成了,我们看看没有迁移时候MySQL数据

再来看看钱以后的数据库

成功了!

最新文章

  1. JMeter学习-039-JMeter 3.0 生成 dashboard HTML 报告图表中文乱码
  2. mysql用户的创建
  3. 第四十四课:jQuery UI和jQuery easy UI
  4. [Cocos2d-x For WP8]Hello world
  5. Java GC系列(3):垃圾回收器种类
  6. golang.org/x/mobile/exp/gl/glutil/glimage.go 源码分析
  7. 吊炸天的 PHP 7 ,你值得拥有
  8. jquery动态移除/增加onclick属性详解
  9. [Angular 2] Using a Reducer to Change an Object&#39;s Property Inside an Array
  10. draw lines on ColumnChart
  11. Microsoft Visual Studio 2017 安装过程
  12. Kubernetes 笔记 05 yaml 配置文件详解
  13. 此请求已被阻止,因为当用在 GET 请求中时,会将敏感信息透漏给第三方网站。若要允许 GET 请求,请将 JsonRequestBehavior 设置为 AllowGet。
  14. MUI 样式按钮的禁用
  15. 算法工程师A
  16. &lt;数据结构与算法分析&gt;读书笔记--实现泛型构件pre-Java5
  17. FileStream 的FileShare一点小认识
  18. mysql explicit_defaults_for_timestamp 变量的作用
  19. Visual Studio和eclipse的大小写转换快捷键
  20. 【Java并发编程】:volatile变量修饰符

热门文章

  1. (转)Uploadify 3.2 参数属性、事件、方法函数详解
  2. ng2响应式表单-翻译与概括官网REACTIVE FORMS页面
  3. Spring定时任务解决博客缓存数据更新问题
  4. 【转】flash air中读取本地文件的三种方法
  5. 设置ssh只允许用户从指定的IP登陆
  6. es suggest did you mean资料
  7. jQ层级选择器
  8. Hibernate(三)之配置文件详解
  9. SQL SERVER:CASE判断空,错误一例
  10. iOS 滑动页面标题切换颜色渐变效果