Mysql
 sql >> Database >  >> RDS >> Mysql

Entity Framework 5.0 code-first con MySQL in WPF

Per utilizzare Connector 6.5.4 con code-first EF5 su VS2012 è necessario:

  1. Installa MySql Connector 6.5.4 msi
  2. Apri il prompt dei comandi di VS2012 x86 come amministratore ed esegui:

    gacutil /i "C:\Programmi (x86)\MySQL\Connector NET 6.5.4\Assemblies\v4.0\mysql.data.dll"gacutil /i "C:\Programmi (x86)\MySQL\Connector NET 6.5.4\Assemblies\v4.0\mysql.data.entity.dll"

  3. Aggiungi nell'App.config del tuo progetto questo codice a <configuration> sezione:

    <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. Ora aggiungi i riferimenti a MySql.Data e MySql.Data.Entity alla tua soluzione e del codice come questo (creo MySqlConnection, quindi lo passo al costruttore di 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; }
    }