5

このウォークスルーは 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" />

しかし、それもうまくいきません。これを機能させる方法について、誰かが私にいくつかの指針を教えてもらえますか?

どうもありがとう。

4

3 に答える 3

3

VS2012 でコード ファースト EF5 で Connector 6.5.4 を使用するには、次のものが必要です。

  1. MySql コネクタ 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\Assemblies\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; }
    }
    
于 2012-10-22T09:41:38.017 に答える
1

Connector 6.5.4 は、EF 5 でコード ファーストをサポートしていません。実際には、コード ファーストをサポートしていません。

ドット ネット コネクタ (少なくとも試用版) を使用してみることができます。

于 2012-10-12T18:24:30.803 に答える
0

データベース接続の設定中にデータソースを MySQLに設定しましたか。また、コードから直接接続を試みる前に、「接続のテスト」をクリックして成功することを確認してください。

ここに画像の説明を入力

ここに画像の説明を入力

于 2012-10-04T14:58:14.770 に答える