我试图将实体框架与适配器结构配合使用,我的目标是让单个.edmx结构能够管理多个连接。具有实体框架的适配器(C#)
我需要有这些适配器:
- 基于文件的数据库(SqlServerCE 3.5)
- 的MySQL(从甲骨文其定制提供商)
- 甲骨文(如MySQL的)
- 的SqlServer
我有一个DAO类,它接收来自winform的数据连接的bean(依赖注入对象),而不是由于sp在该bean中的ecific信息中,DAO将通过数据库工厂类加载正确的适配器。
我的数据库工厂将加载一个真正的适配器类(例如,用于实现我的抽象适配器类的mysql A_Mysql.cs)。
我特别想明白跳,我可以在适配器修改连接方法:
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;
}
使用相同的.edmx,在我的DAO ...
我敢肯定,这是正确的方式,不幸的是,这个系统总是返回我从SqlCE的错误(我已经生成了SqlServerCE的第一个.emdx,但它不包含任何有关该数据库的信息,我的App.config文件没有存储数据库信息)...
你能帮助我吗?如有需要,请写信给我以获取更多信息。 谢谢。
你能帮我吗?我仍然有一些困难:[这里](http://stackoverflow.com/questions/9903988/modify-ssdl-runtime-for-ado-net-and-entity-framework) – Gian 2012-03-28 13:57:38