我继承了使用OleDb连接到数据库的C#(Windows 10,dot net 2.0)数据库应用程序的维护。迁移C#应用程序以连接PostGres数据库
OleDb已被使用,因为它允许先前版本的应用程序通过简单地更改连接字符串在数据库(MS Access,SQL Server,Oracle等)之间切换。
该应用程序现在将被移至PostGres数据库。我已经成功地管理使用或者Npgsql.NpgsqlConnection或System.Data.OleDb.OleDbConnection连接到数据库(使用Intillisoft Postgres的数据提供者在这里找到... http://www.pgoledb.com)
OLEDB提供程序需要一个大得惊人的费用(该应用程序由慈善机构主持,我在自愿的基础上进行工作)。所以我将不得不使用Npgsql.NpgsqlConnection类,但在应用程序中传递了数百次的OleDbConnection对象。
我的目标是(按重要性排序)
- 将应用程序迁移到PostGre
- 做最小的变化的代码
- 保持到数据源之间切换的能力(如果可能)
我想请一些关于实现这些目标的最佳方法的建议。我希望有一些方法可以创建我自己的类,名为OleDbConnection,它可以根据参数链接到System.Data.OleDb.OleDbConnection或Npgsql.NpgsqlConnection。这将保持数据源的灵活性,并将代码更改保持在最低限度 - 但我不知道这是否可能,更不用说如何做到这一点!
感谢
虽然它会要求你改变一些代码片段,(如果应用程序设计的很好,不要太多),但是实体框架可能是一件很好的事情。 –
“如果应用程序设计得不是很好” - “但有几百个OleDbConnection对象正在传递” - 所以我不会在它上面投一分钱,@MarkBaijens – Fildor
是的,听起来不像是一个非常好的设计。仍然重构工具可以帮助解决其中的一些问题。 –