MySQL+EF6的使用

MySQL同时支持EF6与EF Core实体框架,本文介绍以代码优先(Code First)的方式如何使用MySQL。

开发平台最低要求(Windows):

  • Connector/NET 6.10 or 8.0.11
  • MySQL Server 5.6
  • Entity Framework 6
  • .NET Framework 4.5.1 (.NET Framework 4.5.2 for Connector/NET 8.0.22)

MySQL实现了EF6中新功能如下:

1.异步查询和保存添加了对自 .NET 4.5 以来可用的基于任务的异步模式的支持。Connector/NET 支持的新异步方法有:
ExecuteNonQueryAsync
ExecuteScalarAsync
PrepareAsync

2.连接弹性/重试逻辑 支持从瞬时连接故障中自动恢复。要使用此功能,请添加到 OnCreateModel方法中:
SetExecutionStrategy(MySqlProviderInvariantName.ProviderName, () => new MySqlExecutionStrategy());

3.拦截/SQL 日志记录提供了用于拦截实体框架操作的低级构建块,并在其上构建了简单的 SQL 日志记录:
myContext.Database.Log = delegate(string message) { Console.Write(message); };

4.改进的事务支持为框架外部的事务以及在实体框架内创建事务的改进方法提供支持。从 Entity Framework 6 开始,Database.ExecuteSqlCommand()如果命令尚不存在, 则默认情况下会将命令包装在事务中。此方法有重载,允许用户根据需要覆盖此行为。通过 API 执行模型中包含的存储过程,如 ObjectContext.ExecuteFunction()执行相同的操作。也可以将现有事务传递给上下文。

5.DbSet.AddRange/RemoveRange提供了一种优化的方式来从集合中添加或删除多个实体。

1.安装 NuGet 包

Install-Package MySql.Data.EntityFramework -Version 8.0.22

2.配置数据库连接

在项目配置文件中,添加对数据库的连接的配置:

<connectionStrings>
    <add name="ZhongTieDbContext" providerName="MySql.Data.MySqlClient"
        connectionString="server=127.0.0.1;database=zhongtiesync;uid=root;password=123456;;charset=utf8mb4;"/>
</connectionStrings>

3.实体模型搭建

using MySql.Data.EntityFramework;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Common;
using System.Data.Entity;
using System.Linq;
us
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值