【发布时间】:2012-04-10 04:00:17
【问题描述】:
我正在尝试使用带有适配器结构的实体框架,我的目标是拥有一个能够管理多个连接的 .edmx 结构。
我需要这些适配器:
- 基于文件的数据库 (SqlServerCE 3.5)
- MySql(带有来自 Oracle 的自定义提供程序)
- Oracle(作为 MySql)
- SqlServer
我有一个 DAO 类,它从 winform 接收带有数据连接的 bean(依赖注入对象),由于该 bean 中的特定信息,DAO 将通过数据库工厂类加载正确的适配器。
我的数据库工厂将加载一个真正的适配器类(例如,对于实现我的抽象适配器类的 mysql A_Mysql.cs)。
特别想了解hop我可以在adapter中修改连接方式:
public override Entities createConnection(DbConnection dbBean)
{
string conn =
@"metadata=res://*/Toolkit.Database.External.ADO.ADODatabase.csdl" +
@"|res://*/Toolkit.Database.External.ADO.ADODatabase.ssdl" +
@"|res://*/Toolkit.Database.External.ADO.ADODatabase.msl;" +
@"provider=MySql.Data.MySqlClient;" +
"provider connection string=\"Persist Security Info=True;server=" + dbBean.Server + ";" +
"Port=" + dbBean.Port + ";" +
"User Id=" + dbBean.Username + ";"+
"Password=" + dbBean.Password + ";" +
"database=" + dbBean.Schema + "\"";
Entities entities = new Entities(conn);
return entities;
}
在我的 DAO 中使用相同的 .edmx……
我很确定这是正确的方法,不幸的是,这个系统总是从 SqlCE 向我返回错误(我从 SqlServerCE 生成了第一个 .emdx,但它不包含有关该数据库和我的 App.config 的任何信息文件没有存储数据库信息)...
你能帮帮我吗?如果需要,请给我回信以获取更多信息。 谢谢。
【问题讨论】:
标签: mysql sql-server entity-framework c#-4.0 adapter