Entity framework 5.0代码首先使用WPF中的MySQL
本演练适用于SQL Express: 我希望它能与MySQL一起工作。我做了一些研究,但我发现没有一种技术能为我做到这一点。理想情况下,我想这样做:Entity framework 5.0代码首先使用WPF中的MySQL,mysql,wpf,entity-framework,ef-code-first,Mysql,Wpf,Entity Framework,Ef Code First,本演练适用于SQL Express: 我希望它能与MySQL一起工作。我做了一些研究,但我发现没有一种技术能为我做到这一点。理想情况下,我想这样做: <entityFramework> <defaultConnectionFactory type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" /> </entityFramework> 这不起作用(我安装了MySQ
<entityFramework>
<defaultConnectionFactory type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" />
</entityFramework>
这不起作用(我安装了MySQL Connector Net 6.5.4并引用了MySQL.Data)。我已经尝试从IDbConnection工厂中派生,如下所示:
然后使用:
<entityFramework>
<defaultConnectionFactory type="SchoolModel.MySqlConnectionFactory, SchoolModel" />
但这也不行。有谁能给我一些建议,如何让这个工作
非常感谢。在设置数据库连接时,您是否将数据源设置为MySQL。另外,在直接从代码尝试连接之前,请单击并确保“测试连接”成功
连接器6.5.4不支持EF 5的代码优先。实际上,它并不首先支持代码
您可以尝试使用dot net connector(至少是试用版)。要在VS2012上使用connector 6.5.4和代码优先的EF5,您需要:
部分:
<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>
公共类MyDbContext:DbContext
{
公共MyDbContext(DbConnection-connection):基(connection,true){}
公共数据库集产品{get;set;}
}
[表(“sund_产品”)]
公共类产品
{
[关键]
[列(“产品标识”)]
公共int Id{get;set;}
[列(“产品”)]
公共字符串Ean{get;set;}
[列(“产品制造商id”)]
公共int运算符id{get;set;}
[栏(“月份状况”)]
公共字符串monthStatus{get;set;}
[列(“额外字段”5“)]
公共字符串SideId{get;set;}
}
它不起作用不是对问题的描述。你收到任何例外情况吗?什么是异常堆栈跟踪和消息?它不起作用意味着上述技术无法将代码连接到MySQL数据库。没有例外,应用程序将继续连接到默认的SQLEXPRESS数据库。谢谢你的回复!为了验证基础知识,您是否正确设置了连接到MySQL的连接字符串,还是将其保留为默认值(即SQL Express或SQL CE)?您能否举例说明如何创建MySQL
DbConnection
对象?另外,您是否已经升级到MySql Connector 6.6.5.0,并提出了一种不同的方法来实现这一点,您可以在app.config中指定所有内容?
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; }
}