Mysql
 sql >> Base de données >  >> RDS >> Mysql

Entity framework 5.0 code-first avec MySQL dans WPF

Pour utiliser Connector 6.5.4 avec code-first EF5 sur VS2012, vous avez besoin :

  1. Installer le connecteur MySql 6.5.4 msi
  2. Ouvrez l'invite de commande VS2012 x86 en tant qu'administrateur et exécutez :

    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. Ajoutez dans App.config de votre projet ce code à <configuration> rubrique :

    <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. Ajoutez maintenant des références à MySql.Data et MySql.Data.Entity à votre solution et un code comme celui-ci (je crée MySqlConnection, puis le passe au constructeur de 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; }
    }