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

  • 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数据

再来看看钱以后的数据库

成功了!

ASP.Net MVC连接MySQL和Code First的使用的更多相关文章

  1. Ubuntu 环境 运行Asp.net mvc +EntityFramework+ Mysql

    关键词:ubuntu,mono,.Net framework 4.5,asp.net mvc 4,Entityframework 6,Mysql Mono安装 参考文章: Install Mono o ...

  2. asp.net mvc4连接mysql

    环境:vs2013+mysql5.6+mysql connector for .net 6.8.3+MySQL for Visual Studio 1.1.3 参考:http://dev.mysql. ...

  3. 处理asp.net core连接mysql的一个异常Sequence contains more than one matching element

    晚上在那里调程序,把mysql.data组件的nuget包进行了更新,前几天好好的程序,开始抛错,跟踪断点发现以下的异常: Unable to connect to any of the specif ...

  4. Asp.Net Core 连接Mysql

    上一篇文章里最后在VS里测试是没有问题的,但是在Windows命令行模式下会报错. 首先用dotnet restore命令的时候会出现error: 然后用dotnet run会出现警告,但是依旧会成功 ...

  5. Entity Framework 连接 mysql 。(code first模式)

    准备工作 1.下载vs2015 2.下载mysql2017 3.安装 1.创建类库 . 2.打开Nuget包,下载最新版的entity framewor. 3.在引用中添加 mysql.data; m ...

  6. ef 连接mysql,code first

    方法“MySql.Data.MySqlClient.MySqlProviderServices.GetDbProviderManifestToken(System.Data.Common.DbConn ...

  7. ASP.NET MVC 5 - 给数据模型添加校验器

    在本节中将会给Movie模型添加验证逻辑.并且确保这些验证规则在用户创建或编辑电影时被执行. 拒绝重复 DRY ASP.NET MVC 的核心设计信条之一是DRY: "不要重复自己(DRY ...

  8. ASP.NET MVC 5 学习教程:添加验证

    原文 ASP.NET MVC 5 学习教程:添加验证 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 通过控 ...

  9. ASP.NET MVC+Redis (准备工作)

    今天准备更新这个项目的第二篇博客.有一点需要说明的是之前觉得用的是Asp.net的WebPage,经过查看微软的官方文档还有相关的博客,相比较而言使用起来需要安装一个自动工具WebMatrix可以很快 ...

随机推荐

  1. 性能测试平台效率优化的一次经验(python版)

    在做性能测试平台的优化过程中,由于启动任务相对其他测试任务比较频繁,而目前30次两个包的交叉对比(30次)测试需要耗时30分钟整,因此打算优先对测试流程做一次优化,将测试时间消耗降低到20分钟. 由于 ...

  2. (转)centos6.5安装VNC

    在Linux下用VNC远程桌面是个很不错的玩意.但在CentOS中默认没有安装VNC的.可以用下面语句查询,如果出现下面情况说明没有安装vnc #rpm -q tigervnc tigervnc-se ...

  3. [编织消息框架][JAVA核心技术]jdk动态代理

    需要用到的工具  jdk : javac javap class 反编译 :JD-GUI http://jd.benow.ca/ import java.lang.reflect.Invocation ...

  4. NGUI 解决UILable 在空行起始位置加‘\n’

    NGUI 解决UILable 默认在顶满第一行时,在起始位置如键入空格无效,其原因就是会加入换行符,使字符串,整体换行了 解决办法加入bool变量控制 1在 UILable代码中添加 [HideInI ...

  5. smokeping安装部署最佳实践

    1.1安装smokeping [root@linux-node2 ~]# cat /etc/redhat-release              #查看服务器信息 CentOS release 6. ...

  6. 老李分享:robotium常用API 1

    老李分享:robotium常用API   robotium常用API Robotium中最重要的类Solo类:其中提供了模拟用户活动的点击.搜索.拖拽等方法. 英文api(经常断开连接打不开):htt ...

  7. 用exe4j将jar包转成.exe文件的教程

    标准版教程再这里 http://pan.baidu.com/s/1i3gn0Br 1.    下载安装exe4j文件,并把你的java文件生成jar格式的文件,在桌面新建一个文件夹,把jar文件放进去 ...

  8. linux cut命令详解

    cut是一个选取命令,就是将一段数据经过分析,取出我们想要的.一般来说,选取信息通常是针对"行"来进行分析的,并不是整篇信息分析的. (1)其语法格式为:cut  [-bn] [f ...

  9. JavaEE开发使用Maven管理的SpringMVC工程

    前几篇博客已经陆陆续续的聊了一些Spring的东西,今天博客我们就来聊一下SpringMVC.SpringMVC目前在JavaEE开发中可谓占据一席之地,用起来也是比较顺手的.低耦合,高内聚,利用一些 ...

  10. SpringCloud网关ZUUL集成consul

    最近一直在搞基于springcloud的微服务开发,为了不限定微服务开发语言,服务发现决定采用consul不多说上代码 pom文件 <project xmlns="http://mav ...