Design patterns 数据库抽象-有哪些选项?
如何从应用程序中提取数据库,使其不知道数据库类型? 我必须设计一个.NET3.5WPF应用程序,它必须支持SQLServer或VisualFoxpro作为数据存储库 我的设计目标是:Design patterns 数据库抽象-有哪些选项?,design-patterns,orm,database-abstraction,Design Patterns,Orm,Database Abstraction,如何从应用程序中提取数据库,使其不知道数据库类型? 我必须设计一个.NET3.5WPF应用程序,它必须支持SQLServer或VisualFoxpro作为数据存储库 我的设计目标是: 在数据访问层中编写代码时,使数据存储库的类型不可见 在SQL和FoxPro之间切换要尽可能快和轻松 允许使用DAL中的ANSI SQL和存储过程 对于加入项目的其他开发人员来说,学习曲线必须是最小的 这将是一个WPF应用程序,可能使用CSLA 我曾考虑过使用某种ORM,但没有使用这种技术的经验 许多ORM与数据库类
我曾考虑过使用某种ORM,但没有使用这种技术的经验 许多ORM与数据库类型无关,尽管FoxPro要求可能会限制您的选择,或者要求您编写自己的提供程序或适配器 如果希望应用程序能够处理多种数据库类型(例如通过配置),还必须注意每个数据库中的模式都是可兼容的,并且不依赖于未在其中一个数据库或所选ORM中实现的功能
我最熟悉的ORM LLBLGen Pro支持5或6个后端数据库,但官方不支持FoxPro。曾经有一个客户提供的FoxPro适配器。我不知道它是否得到了维护。这里没有问题……我的问题是实现这一点的最佳方法是什么?我可以使用某种接口,这样我看到的只是一个IConnection或and ICommand,而不是SqlConnection或ODBCConnection。我可以使用某种ORM。我可以两次编写我所有的DAL代码,一次用于Fox,一次用于SQL Server!