2009-01-16 84 views
4

在创建具有多数据库支持的应用程序时,使用Enterprise Library vs使用OleDb类型的通用对象的优缺点是什么?多数据库支持

回答

1

如果不真正了解“企业库”与“通用OleDb”是什么,我会建议你在开始开发一个可以处理许多数据库的应用程序之前非常小心。当然,创建一些接口是很好的,所以人们不知道他们在呼叫什么,但是所有的数据库都不一样,甚至不是很接近。最后,您最终会将代码写入“最低公分母”,从而使您的应用程序不能享受现代数据库带来的好处。还有一些严重的应用程序逻辑问题需要处理,例如某些数据库编写者在其他读者从不锁定的情况下阻止读取器。关于并发进程如何与数据库进行交互的假设可以通过你的好封装接口,并且可能很难调试。

我的建议:

a)如果您使用简单的持久数据库,并希望它“到处运行”,只是它自己的多平台的数据库(flatfiles,sqllite等释放你的应用程序)。 b)如果你真的想针对“任何数据库”运行,只需使用一个hibernate类型的接口,并确保所有项目参与者意识到当他们的代码针对不同平台执行时出现的语义差异,然后出去你的方式使更好的数据库的行为像crummier的。

c)(首选) - 放弃主动,选择一个好的数据库,并对它写应用程序,充分利用数据库的能力。

我一直在这条道路上多次。

0

如果您选择开发自己的多数据库DAL或使用企业库,则没有真正的优点或缺点。如果你使用企业库,它会给你一个跳跃的开始,但也做比你需要更多的代码。在这种情况下,请仔细查看为您的应用程序构建XMLish配置文件,您可以根据这些配置文件进行裁剪以适应一种或多种类型的数据库。如果在多个数据库上工作并不是主要关心的问题,那么完成多数据库工作将占用大量时间。