This walkthrough works great with SQL Express: http://msdn.microsoft.com/en-us/library/gg197522(v=VS.103).aspx
I would like it to work with MySQL. I've done some research but none of the techniques I've found has been able to do it for me. Ideally I would like to do something like this:
<entityFramework>
<defaultConnectionFactory type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" />
</entityFramework>
This doesn't work (I have MySQL Connector Net 6.5.4 installed & MySql.Data referenced). I've tried deriving from IDbConnection factory as shown in this class here: http://www.vworker.com/RentACoder/misc/BidRequests/ShowBidRequest.asp?lngBidRequestId=1563829
and then using:
<entityFramework>
<defaultConnectionFactory type="SchoolModel.MySqlConnectionFactory, SchoolModel" />
but that doesn't work either. Can anybody please give me some pointers as to how to get this to work?
Many thanks.
To use Connector 6.5.4 with code-first EF5 on VS2012 you need:
Open VS2012 x86 Command Prompt as Admin and execute:
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"
Add in your project's App.config this code to <configuration>
section:
<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>
Now add references to MySql.Data and MySql.Data.Entity to your solution and some code like this (I create MySqlConnection, then pass it to constructor of 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 does not support code-first with EF 5. Actually it does not support code first.
You can try using dot net connector (at least the trial version).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With