我有一个应用程序,需要能够使用sqlite3数据库或mysql数据库.客户希望能够在两者之间进行选择(显然一个是本地的,一个是在线的).
我这样做的想法是创建一个包含所有常用方法(ExecuteReader,ExecuteScalar等)的数据库接口,然后使用扩展此接口的SQLite3Database类和扩展它的MySQLDatabase类.在应用程序初始化时,它将根据客户选择的设置创建数据库接口.
但是,如果我执行此路由,则会失去对Server Explorer的访问权限以及添加数据集等的简单方法.
所以我的问题是......我是否以正确的方式解决这个问题?我错过了更好的选择吗?如果没有,当我创建数据连接点VIA代码时,如何才能访问服务器资源管理器的可用性?
谢谢.
如果应用程序是非平凡的,那么我会说你应该看看ORM工具.
它不会解决100%的问题,但它会让你到达那里.例如,NHibernate是我当前项目的ORM,并且几乎没有特定于数据库的代码.