Code First use dotConnect for MySQL
http://www.dotblogs.com.tw/yc421206/archive/2014/03/24/144507.aspx
dotConnect for MySQL 是一家強大的 3rd Component 它提供了相當多的資料庫存取元件,有興趣的人可以前往查看功能清單
http://www.devart.com/dotconnect/mysql/features.html
這篇主要是為試用心得
準備環境
1.安裝 dotConnect for MySQL 8.3 Professional Trial,http://www.devart.com/dotconnect/mysql/download.html
2.從NuGet 安裝 Entity Framework
3.加入以下參考
- Devart.Data.dll
- Devart.Data.MySql.dll
- Devart.Data.MySql.Entity.dll
4.資料庫要存在,不存在會失敗,似乎沒有提供第一次動態建立 DB 的功能
完成之後便可開始 Coding,如同前面幾篇介紹的操作步驟,在這裡就節省詳細敘述,專注在元件使用
http://www.dotblogs.com.tw/yc421206/archive/2014/01/20/141712.aspx
http://www.dotblogs.com.tw/yc421206/archive/2014/02/20/144093.aspx
建立 POCO (DTO) class
public class Identity
{
[Key]
public int Id { get; set; } public string Name { get; set; }
}
加入 provider 組態設定
<provider invariantName="Devart.Data.MySql" type="Devart.Data.MySql.Entity.MySqlEntityProviderServices, Devart.Data.MySql.Entity" />加入連線字串
<add name="MySQL" providerName="Devart.Data.MySql" connectionString="Server=localhost;Database=demo;Uid=your id;Pwd=your pw" />完整組態檔如下
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework,
Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<connectionStrings>
<add name="MySQL" providerName="Devart.Data.MySql" connectionString="Server=localhost;Database=demo;Uid=your id;Pwd=your password" />
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<entityFramework>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
<provider invariantName="Devart.Data.MySql" type="Devart.Data.MySql.Entity.MySqlEntityProviderServices, Devart.Data.MySql.Entity" />
</providers>
</entityFramework>
</configuration>
建立 DbContext 類別
public class MySqlDbContext : DbContext
{
public DbSet<Identity> Identities { get; set; } public MySqlDbContext()
: base("MySQL")
{
}
}
最後,建立一個測試用的 Winform 專案,加入以下程式碼,即可完成
private void Form1_Load(object sender, EventArgs e)
{
MySqlDbContext ef = new MySqlDbContext(); ef.Identities.Load();
MessageBox.Show("OK");
}
有幾點需要再跟原廠確認
1.當 DB 不存在時,無法動態建立 DB?
2.可能它們自家軟體已經有支援,所以不支援EF Designer?
![]()
文章出自:http://www.dotblogs.com.tw/yc421206/archive/2014/03/24/144507.aspx
若有謬誤,煩請告知,新手發帖請多包涵
Code First use dotConnect for MySQL的更多相关文章
- Error code:1728 Cannot load from mysql.proc. The table is probably corrupted
Error code:1728 Cannot load from mysql.proc. The table is probably corrupted http://bugs.mysql.com/b ...
- Mysql导入Sql文件时报Error Code: 2013 - Lost connection to MySQL server during query
MySql 有时我们导入sql文件,文件过大,导致Error Code: 2013 - Lost connection to MySQL server during query这种错误 执行以下: S ...
- Entity Framework Code First ---EF Power Tool MySql
关于如何使用EF Power Tool的介绍请看 http://www.cnblogs.com/LingzhiSun/archive/2011/05/24/EFPowerTool_1.html, 这里 ...
- Mysql:Error Code 1235,This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME 错误解决
This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME 错误解决 这次国庆节回来后的测试中,在一个Mysql表达式 ...
- MySQL Error Code文档手册---摘自MySQL官方网站
This chapter lists the errors that may appear when you call MySQL from any host language. The first ...
- MySQL Workbench出现:Error Code: 2013. Lost connection to MySQL server during query的问题解决
解决办法: [Edit]->[Preference]->[SQL Editor] 将下图DBMS connection read time out (in seconds)适当调大: 参考 ...
- 使用VS Code的MySQL扩展管理数据库
我将在本文告诉你如何用VS Code的扩展程序管理MySQL数据库,包括连接到MySQL.新建数据库和表.修改字段定义.简单的查询方法以及导入导出. 在许多情况下,我们需要随时查看数据库的记录来确保程 ...
- MYSQL MHA
MYSQL MHA 简介: MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于 Face ...
- 我的ef连接mysql之旅
摘要: install-package ef6,mysql.data:增加provider invariantName="MySql.Data.MySqlClient" typ ...
随机推荐
- Refused to display '[url]' in a frame because it set 'X-Frame-Options' to 'Deny'.
X-Frame-Options是一个HTTP标头(header),用来告诉浏览器这个网页是否可以放在iFrame内.例如: X-Frame-Options: DENY X-Frame-Options: ...
- Ubuntu 安装lrzsz工具
rz(上传) sz(下载)) 1. 安装 sudo apt-get install lrzsz 2. rz可覆盖原文件 rz -y
- 阿里巴巴Java开发手册- 控制语句
1. [强制]在一个 switch 块内,每个 case 要么通过 break / return 等来终止,要么注释说明程序将继续执行到哪一个 case 为止 : 在一个 switch 块内,都必须包 ...
- 【shell】正则表达式语法
一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式.该模式描述在查找文字主体时待匹配的一个或多个字符串.正则表达式作为一个模板,将某个字符模式与所搜索的字符串 ...
- oracle_外部表的两种实现方式oracle_loader[datapump]
外部表可以实现,通过数据库对象直接访问目录文件里的格式数据,加载方式分为两种oracle_loader和oracle_datapump,oracle_loader方式通过sqlldr引擎方式加载,访问 ...
- linux 搭建 redis
找了很多教程总有一个适合我 http://www.cnblogs.com/_popc/p/3684835.html 当然我的目录是/opt/redis 文章中的目录是/usr/local/redi ...
- 【Oracle学习笔记-3】关于Oracle 10g中各种服务解析
[原创]关于oracle 10g中各种服务解析 (2014/10/16 8:39:40) 时间:2014-10-16 8-58-30 作者:ssslinppp 1. 当首次安装oracle 1 ...
- 【FusionCharts学习-2】第一个FusionCharts程序
获取资源 到官网:http://www.fusioncharts.com/download/ 获取FusionCharts文件: 目录结构: js目录下的文件: 创建项目 1. 项目名称:Fusion ...
- 在VS2013平台下如何快速解决c++代码内存泄漏问题
在学习FPS3000人脸关键点定位算法时,发现github上的源码,存在大量的内存泄漏问题,在训练的时发现内存一直在增长,测试的时候也存在内存无法彻底释放的问题. 一直以为是存放模型参数vector& ...
- bzoj1864 三色二叉树
Description Input 仅有一行,不超过500000个字符,表示一个二叉树序列. Output 输出文件也只有一行,包含两个数,依次表示最多和最少有多少个点能够被染成绿色. 记录每个节点染 ...