簡體   English   中英

實體框架5.0代碼優先於WPF中的MySQL

[英]Entity framework 5.0 code-first with MySQL in WPF

本演練適用於SQL Express: http//msdn.microsoft.com/en-us/library/gg197522(v = VS.103).aspx

我希望它能與MySQL一起工作。 我做了一些研究,但我發現的技術都沒有能夠為我做到。 理想情況下,我想做這樣的事情:

      <entityFramework>
    <defaultConnectionFactory type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" />
  </entityFramework>

這不起作用(我安裝了MySQL Connector Net 6.5.4並引用了MySql.Data)。 我已嘗試從IDbConnection工廠派生,如此課程所示: http ://www.vworker.com/RentACoder/misc/BidRequests/ShowBidRequest.asp?lngBidRequestId=1563829

然后使用:

      <entityFramework>
<defaultConnectionFactory type="SchoolModel.MySqlConnectionFactory, SchoolModel" />

但這也不起作用。 任何人都可以給我一些關於如何使其工作的指示?

非常感謝。

要在VS2012上使用帶有代碼優先EF5的Connector 6.5.4,您需要:

  1. 安裝MySql Connector 6.5.4 msi
  2. 以管理員身份打開VS2012 x86命令提示符並執行:

    gacutil / i“C:\\ Program Files(x86)\\ MySQL \\ Connector NET 6.5.4 \\ Assemblies \\ v4.0 \\ mysql.data.dll”gacutil / i“C:\\ Program Files(x86)\\ MySQL \\ Connector NET 6.5.4 \\組件\\ V4.0 \\ mysql.data.entity.dll”

  3. 在項目的App.config中添加此代碼到<configuration>部分:

     <system.data> <DbProviderFactories> <remove invariant="MySql.Data.MySqlClient" /> <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.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> </DbProviderFactories> </system.data> 
  4. 現在將MySql.Data和MySql.Data.Entity的引用添加到您的解決方案和一些代碼(我創建MySqlConnection,然后將其傳遞給MyDbContext的構造函數)

     public class MyDbContext : DbContext { public MyDbContext(DbConnection connection) : base(connection, true) { } ​public DbSet<Product> Products { get; set; } } [Table("sund_jshopping_products")] public class Product { [Key] [Column("product_id")] public int Id { get; set; } [Column("product_ean")] public string Ean { get; set; } [Column("product_manufacturer_id")] public int OperatorId { get; set; } [Column("months_status")] public string MonthsStatus { get; set; } [Column("extra_field_5")] public string SideId { get; set; } } 

Connector 6.5.4不支持EF 5的代碼優先。實際上它不支持代碼。

您可以嘗試使用dot net connector(至少是試用版)。

在設置數據庫連接時是否將數據源設置為MySQL 此外,單擊並確保“測試連接”成功,然后直接從代碼嘗試連接。

在此輸入圖像描述

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM