Entity Framework With Mysql 之Code First

  Entity Framework 4.0现在也可以支持Mysql数据库了,这篇文章将向你展示如何用Code First的方式来实现。  

  1、首先新建一个项目,在项目中用NuGet添加如下引用:

  

2、在web.config文件中添加如下配置:  

1 <connectionStrings>
2     <add name="MyTestContext" connectionString="Data Source=127.0.0.1;port=3306;Initial Catalog=Test;user id=root;password= ;" providerName="MySql.Data.MySqlClient" />
3 </connectionStrings>

  3、新建实体类:

public class User
    {
        public int Id { get; set; }
        [MaxLength(50)]
        public string UserName { get; set; }
        [MaxLength(50)]
        public string Password { get; set; }
        [MaxLength(50)]
        public string Email { get; set; }
    }

  4、创建EF的数据上下文,注意此类要继承DbContext 

public class EFMysqlContext:DbContext
    {
        public EFMysqlContext()
            : base("name=MyTestContext")//此处的name为web.config中的数据库连接字符串        { }     public DbSet<User> Users { get; set; } }

完成上述操作后,你就可以在前台调用了,如果不存在数据库Test,EF会创建数据库。前台调用方法如下:

var context = new EFMysqlContext();
            context.Users.Add(new User { UserName = "wilbur",Password="123456" });
            context.SaveChanges();

程序运行后,会自动生成数据库:

Entity Framework中DbContext会生成一张__migrationhistory表,作为使用Code Frist编程模式。

好了,一个简单的Mysql EF 的Code First就实现了!

时间: 2024-10-25 08:33:26

Entity Framework With Mysql 之Code First的相关文章

Entity Framework连接MySQL

Entity Framework连接MySQL时:由于出现以下异常,无法生成模型:"表"TableDetails"中列"IsPrimaryKey"的值为DBNull. 解决如下 use 数据库名; set global optimizer_switch='derived_merge=OFF';  

entity framework in mysql

To start using Entity Framework 6 and Visual Studio 2013 is necessary to install MySQL for Visual Studio 1.1.1 Beta and MySQL Connector/Net 6.8.1 Beta MySQL for Visual Studio 1.1.1 Beta can be downloaded with the following link: https://cdn.mysql.com

Entity Framework with MySQL 学习笔记一(安装)

声明 :  数据库是Mysql,本人的程度只到会写sql语句(不会储蓄过程), c# 会基本的ADO.NET数据库访问,LINQ基础. 这篇只做个人学习|温习作用. 新手可以参考,也请高手指正错误, 感恩. Entity Framework (缩写EF) 是微软的一个框架.作用是处理面向对象与关系数据库的映射问题. 以往我们都是ADO.NET来访问数据库,connection.open() -> sql command ->  executenonquery | dataReader ->

Entity Framework 处理MySQL,Oracle 并发问题

前提, 使用的 Entity Framework Power Tools 来生成Code First 模式 环境: EF6.0 MySQL 6.9 EF Power tools 4 VS2012 问题, SQL Server 使用 TS 字段来处理并发控制,  MySQL 如何处理 ? Oracle 如何处理? 思路:使用EF 的并发控制标识,加上数据库自动更新TS字段 1. 数据库自动更新TS, MySQL 可以设置TS列为 Timestamp 类型,加上默认值 NOT NULL DEFAUL

Entity Framework 在MySQL中执行SQL语句,关于参数问题

在Entity Framework中添加MySQL模型,在写代码的过程中需要直接执行SQL语句. 在SQL语句中用到了@curRank := 0 这样在SQL语句中定义参数,同时还会有传入参数:ai.action_time >= '@startTime', 在执行的过程中会报错. 解决办法,在连接数据库字符串中添加:';Allow User Variables=True' 添加完成后如下: <add name="" connectionString="metada

entity framework 使用Mysql配置文件

<?xml version="1.0" encoding="utf-8"?> <configuration>   <configSections>     <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Ver

Solve: Your project references the latest version of Entity Framework (for MySQL) in Visual Studio 2013

The error message while trying to create a ADO.net Entity Data Model ( Entity Framework 6 ) for MySql Database in Microsoft Visual Studio 2013 "Your project references the latest version of Entity Framework; however, an Entity Framework database prov

Entity Framework 使用Mysql的配置文件

<?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6

[转]解决:Entity Framework + MariaDb(MySql)中文乱码

转自:http://fenglongsheng.com/post/6640.html 今天写一MVC4+Entity Framework+Mysql的小例子时,发现中文写到数据库里是N个问号(乱码哦~); 于是跟了一下代码,发现页面提交过来的数据正常,这说明肯定是EF写到数据库时出了问题. 为了进一步验证,我用SQLServer2008试了一下,一切正常,那就在Mysql上找原因吧~ 但mysql库编码也是utf8,表也是utf8,这是什么原因呢? 百度了一把,看 了几篇文章也没能解决我的问题,