Entity Framework with MySQL 学习笔记一(安装)
声明 : 数据库是Mysql,本人的程度只到会写sql语句(不会储蓄过程), c# 会基本的ADO.NET数据库访问,LINQ基础.
这篇只做个人学习|温习作用. 新手可以参考,也请高手指正错误, 感恩.
Entity Framework (缩写EF) 是微软的一个框架。作用是处理面向对象与关系数据库的映射问题。
以往我们都是ADO.NET来访问数据库,connection.open() -> sql command -> executenonquery | dataReader -> connection.close()等等
然后在把select结果装入DataTable | List<Class> 等等
写久了你会发现,这样的过程重复性很高,代码也不够整齐直观,很大的原因是关系数据库的思维和面向对象不太吻合造成的。
还有一种糟糕的情况是,每每要替换数据库时,语句有不兼容的问题, 可能需要批量替换.
Entity Framework 能让你在不需要写 sql 语句下,直接访问任何数据库获取资料。
所谓的映射就是把每个sql table 写出一个对应的 Class,column=属性, 然后写出它们之间的关系.这里的关系指的是范式(1对0, 1对1,1对多,多对多)
然后通过操作对象来同步数据库,有点MVC中 model -> view 的概念
这一篇先从安装配置说起吧.
参考 :
http://dev.mysql.com/doc/connector-net/en/connector-net-entityframework60.html
我搞了大半天,没有一个很完整的结果,最终只能用 EF 6.1.1 ,配合 Mysql 5.x Code First 模式(class 和数据表是手写的),做不出 designer page 自动创建等。
我用 visual studio 2012 ultimate , 原先是EF 5.0 ,可以通过 NuGet去下载安装.
因为我用的是MySQL 所以必须安装 connetor/NET 6.9.3 . 下载 http://dev.mysql.com/downloads/connector/net/6.9.html
还有MySQL for visual studio . 下载 http://dev.mysql.com/downloads/windows/visualstudio/1.2.html
安装了之后把 dll copy 进bin里 . 一般在 : C:\Program Files\MySQL\MySQL Connector Net 6.9.3\Assemblies\v4.5\里面的dll file
MySql.Data.dll
MySql.Data.Entity.EF6.dll
MySql.Web.dll
然后配置一下web config
<configuration>
<connectionStrings> <!--<add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-theardensWeb-20141108125005;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-theardensWeb-20141108125005.mdf"/>--> <add name="DB" providerName="MySql.Data.MySqlClient" connectionString="server=110.4.46.195;database=theardens;uid=keatkeat;password=001001;" /> </connectionStrings>
<system.web> <compilation debug="true" targetFramework="4.5"> <assemblies> <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <add assembly="MySql.Data, Version=6.9.3.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/> <add assembly="MySql.Web, Version=6.9.3.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/> </assemblies> </compilation> </system.web>
<!--this system.data is important for exabytes, local no have is ok--> <system.data> <DbProviderFactories> <clear /> <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.3.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D" /> </DbProviderFactories> </system.data>
<entityFramework> <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> <providers> <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" /> <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> </providers> <!--<interceptors> <interceptor type="System.Data.Entity.Infrastructure.Interception.DatabaseLogger, EntityFramework"> <parameters> --><!-- for entity sql command record log--><!-- <parameter value="D:\vs2014\project\theardens\theardensWeb\EFLog\Log.txt" /> <parameter value="false" type="System.Boolean" /> </parameters> </interceptor> </interceptors>--> </entityFramework>
</configuration>
这样就行啦!
相关文章
- solr 7+tomcat 8 + mysql实现solr 7基本使用(安装、集成中文分词器、定时同步数据库数据以及项目集成)
- 简述C#中IO的应用 RabbitMQ安装笔记 一次线上问题引发的对于C#中相等判断的思考 ef和mysql使用(一) ASP.NET/MVC/Core的HTTP请求流程
- yum安装mysql
- Linux安装mysql
- 云服务器上mysql数据库环境安装配置
- Mysql安装问题汇总
- ubuntu 18.04 安装mysql 遇到语言格式不兼容性问题解决
- mysql load data, select into outfile 导入和导出 CSV格式
- 《PHP、MySQL和Apache入门经典(第5版)》一一1.3 在Windows上安装XAMPP
- Mysql 乐观锁
- 如何在同一台机器上安装多个MySQL的实例 转
- CentOS 5 64bit 编译安装MySQL报错
- 第一次启动MySQL时报错
- Mysql 中的事件//定时任务
- 搭建MySQL高可用负载均衡集群
- 初学mysql 如何删除数据库 如何安装mysql
- 浅谈MySQL 数据库性能优化
- 一步一步跟我学习hadoop(7)----hadoop连接mysql数据库运行数据读写数据库操作
- Centos下一个server安装的版本号mysql
- mysql双主gtid模式,在有数据情况下
- 在Visual Studio 2013中安装Mysql for EntityFramework
- Mysql大小写敏感的问题 --转
- ubuntu下安装mysql