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

  1. public class Identity
  2. {
  3. [Key]
  4. public int Id { get; set; }
  5.  
  6. public string Name { get; set; }
  7. }

加入 provider 組態設定

  1. <provider invariantName="Devart.Data.MySql" type="Devart.Data.MySql.Entity.MySqlEntityProviderServices, Devart.Data.MySql.Entity" />

加入連線字串

  1. <add name="MySQL" providerName="Devart.Data.MySql" connectionString="Server=localhost;Database=demo;Uid=your id;Pwd=your pw" />

完整組態檔如下

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <configuration>
  3. <configSections>
  4. <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
  5. <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework,
    Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  6. </configSections>
  7. <connectionStrings>
  8. <add name="MySQL" providerName="Devart.Data.MySql" connectionString="Server=localhost;Database=demo;Uid=your id;Pwd=your password" />
  9. </connectionStrings>
  10. <startup>
  11. <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  12. </startup>
  13. <entityFramework>
  14. <providers>
  15. <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
  16. <provider invariantName="Devart.Data.MySql" type="Devart.Data.MySql.Entity.MySqlEntityProviderServices, Devart.Data.MySql.Entity" />
  17. </providers>
  18. </entityFramework>
  19. </configuration>

建立 DbContext 類別

  1. public class MySqlDbContext : DbContext
  2. {
  3. public DbSet<Identity> Identities { get; set; }
  4.  
  5. public MySqlDbContext()
  6. : base("MySQL")
  7. {
  8. }
  9. }

最後,建立一個測試用的 Winform 專案,加入以下程式碼,即可完成

  1. private void Form1_Load(object sender, EventArgs e)
  2. {
  3. MySqlDbContext ef = new MySqlDbContext();
  4.  
  5. ef.Identities.Load();
  6. MessageBox.Show("OK");
  7. }

有幾點需要再跟原廠確認

1.當 DB 不存在時,無法動態建立 DB?

2.可能它們自家軟體已經有支援,所以不支援EF Designer?


文章出自:http://www.dotblogs.com.tw/yc421206/archive/2014/03/24/144507.aspx

若有謬誤,煩請告知,新手發帖請多包涵

Code First use dotConnect for MySQL的更多相关文章

  1. 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 ...

  2. 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 ...

  3. Entity Framework Code First ---EF Power Tool MySql

    关于如何使用EF Power Tool的介绍请看 http://www.cnblogs.com/LingzhiSun/archive/2011/05/24/EFPowerTool_1.html, 这里 ...

  4. 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表达式 ...

  5. MySQL Error Code文档手册---摘自MySQL官方网站

    This chapter lists the errors that may appear when you call MySQL from any host language. The first ...

  6. MySQL Workbench出现:Error Code: 2013. Lost connection to MySQL server during query的问题解决

    解决办法: [Edit]->[Preference]->[SQL Editor] 将下图DBMS connection read time out (in seconds)适当调大: 参考 ...

  7. 使用VS Code的MySQL扩展管理数据库

    我将在本文告诉你如何用VS Code的扩展程序管理MySQL数据库,包括连接到MySQL.新建数据库和表.修改字段定义.简单的查询方法以及导入导出. 在许多情况下,我们需要随时查看数据库的记录来确保程 ...

  8. MYSQL MHA

    MYSQL MHA 简介: MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于 Face ...

  9. 我的ef连接mysql之旅

      摘要: install-package ef6,mysql.data:增加provider invariantName="MySql.Data.MySqlClient" typ ...

随机推荐

  1. 线程池、及使用场景、线程安全封装、ConcurrentHashMap应用场景

    https://blog.csdn.net/sinbadfreedom/article/details/80467253  :1.HashMap与ConcurrentHashMap的区别与应用场景 h ...

  2. 作为一名IT从业者,你在工作和学习中,遇到哪些问题

    版权声明:襄阳雷哥的版权声明 https://blog.csdn.net/FansUnion/article/details/28448975 大家都是IT从业者,遇到的问题多少与类似. 假设能把这些 ...

  3. Unity3D 4.x怎样实现动画的Ping Pong效果

    近期在看Unity官方的Stealth项目教学视频,视频使用的是Unity旧的版本号,而我如今正在使用的是Unity 4.5,动画系统的操作全然不同了. 依照视频的方式根本无法设置动画的Ping Pi ...

  4. javascript的循环使用

    学习网址: http://www.w3school.com.cn/js/js_loop_for.asp JavaScript 循环 如果您希望一遍又一遍地运行相同的代码,并且每次的值都不同,那么使用循 ...

  5. 【shell】sed命令

    sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法sed命令行格式为:         sed ...

  6. java操作Excel之POI(4)利用POI实现数据的批量导出

    后台导出方法: /** * 后台导出方法 * 利用POI实现数据的批量导出 */ public String export() throws Exception{ Connection con = n ...

  7. var_dump() 查看字符的类型 方法

  8. [转][html][jquery]

    <!-- 强行修改 CSS --> $('a').css("cssText","background:#fff !important;color:#2d6dc ...

  9. ZeroClipboard插件,复制到剪切板

    发现一个复制到剪切板的插件:ZeroClipboard插件.挺好用,用法如下: 头部引用: <script type="text/javascript" src=" ...

  10. 1108 Finding Average (20 分)

    1108 Finding Average (20 分) The basic task is simple: given N real numbers, you are supposed to calc ...