最近一段时间一直在看Community Server, 从中抄了不少宝到项目里去。
场景: 业务实体由多个不同数据库提供,或是为了方便代码移植到不同数据库上去
借鉴方法: 在CS中采取了从配置文件读取映射类的方法,可以非常灵活的定义数据源。
举例步骤: 1 定义数据实体类User
public class User:IPeople
{
private int _settingID;
private string _userID;
private string _userName;
private string _time;
private string _language;
属性:
}
2 定义多个映射类,对应不同数据库
public interface IUserProvider
{
IPeople GetUserByID(int ID);
IPeople GetNameByID(int ID);
IPeople GetUserByName(string name);
.....
}
public class UserProviderBySQL:DBHelper,IUserProvider
{
.......
}
public class UserProviderByOracle:DBHelper,IUserProvider
{
.......
}
3 在配置文档里填入类名
<?xml version="1.0" encoding="utf-8" ?>
<root>
<add name="UserAppDAL" type="AppDAL.UserProviderBySQL"></add>
</root>
4 读配置文档然后通过反射来提供业务实体














































5 客户端调用





































6 移植扩展
只需要改变配置文件中的type值即可更换映射类如
<add name="UserAppDAL" type="AppDAL.UserProviderByOracle"></add>
可以轻松实现扩展和移植