设计数据库存取层生成工具(六) 配置、使用与小结
时间:2011-04-07 来源:hejiang's blog
在生成之后,我们就可以在工程中引用这个Assembly了。然后就可以象普通类库一样使用:
DataAccess da = new DataAccess(connectionName);
IList<DrugCodeAndName> list = da.GetDrugCodeAndNameList();
foreach (DrugCodeAndName dcan in list)
{
// populate to drug name list
lbDrug.Items.Add(dcan.Name);
}
这里connectionName是连接名称。通过在app.config中配置连接:
<connectionStrings>
<clear/>
<add name="Connection1"
connectionString="Data Source=hejiang;Initial Catalog=DMDB;Persist Security Info=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
那么connectionName就是Connection1。
如果要使用事务,直接调用da.BeginTransaction(isolationLevel),由于没有设计暂停事务,所以凡是在这之后,调用da.Commit或da.Rollback之前的操作都包含于该事务中。
到这里,我们工具的主体就完成了。后面还需要做的包括:
1. 输入界面:直接编写xml文件很不友好,我们最好做一个界面来完成;
2. 方法注解:没有注解的方法在编程时不能很好的提示编程人员,也不能生成手册,以后我们需要增加该部分功能;
3. 结果缓存:对于大量的查询信息,我们可以考虑进行缓存,减少与数据库交互次数;
4. 支持从附加的Assembly中载入类型;
总的说来,对于数据库访问,要么采用对象映射,要么不采用对象映射;由于对象映射导致架构不清晰、数据库很难按访问优化等问题,以致于在大型项目上较少使用,而采取SQL直接访问DB的方式。我们这个工具就是对SQL直接访问DB编程方式的辅助,减少开发人员的编码工作,并提高系统可维护性。