• 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?

    image


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

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

  • 相关阅读:
    机器学习框架之sklearn简介
    ubuntu 16.04下使用 python pip的安装问题。
    ubuntu 16.04 搭建git小型服务器
    使用config 来管理ssh的会话
    【linux】su、sudo、sudo su、sudo -i的用法和区别
    【python】确保文件写入结束
    【python】描述符descriptor
    【python】类(资料+疑惑)
    【pymongo】mongodb cursor id not valid error
    【python】继承关系和isinstance
  • 原文地址:https://www.cnblogs.com/Rising/p/3788591.html
Copyright © 2020-2023  润新知