[英]Using entity framework 4.1 Code-First on existing MySQL database
[英]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,您需要:
以管理员身份打开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”
在项目的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>
现在将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.