我有一个C#应用程序使用ADO.Net访问特定类型的数据库(VistaDB),我需要扩展到可选使用第二种类型的数据库(SQL Server)。是否有可能绕过C#函数参数强打字?
我无法使用Vista Entity Framework数据访问(可支持多种数据库类型),因为这需要更高版本的.NET框架,而不是我的大多数用户可用的版本。我的数据访问函数将VistaDBConnection作为参数参数,虽然我可以重载函数以提供SqlConnection参数支持,但这意味着需要复制大量的数据访问函数。
我想知道是否有可能将函数参数定义为VistaDBConnection或SqlConnection类型,然后测试哪种类型已通过并提供数据访问例程中的选项以使用。我可以通过将VistaConnection和SqlConnection参数传递给数据访问函数来做到这一点,但传递单个参数或变量类型会更简洁。但是,这确实打破了C#强大的打字功能。