我正在使用 asp.net,目前正在使用 SQL SERVER 2008。 在我的代码中,所有 DML 操作都是在 SqlConnection、SqlCommand、SqlDataAdapter 的帮助下发生的。
但是如果我的数据库转移到ORACLE或MySQL,那么我需要为ORACLE编写代码——OLEDBConnection、OLEDBCommand、OLEDBDataAdapter MySQL——需要包含 MySQL dll。
现在由于这个巨大的变化,我需要再次编写整个代码。
- 有没有办法解决这个问题,让我们一次性编写代码,而不依赖于数据库提供者?
- Entity Framework 出现在这张图中的任何地方吗?
请指导我。
最佳答案
如果您使用基类 DbConnection
编写数据访问层, DbCommand
以及 System.Data.Common
中的其他类(class),您可以传入并使用任何继承类型。
这意味着您编写一次数据访问层,但注入(inject)您确实使用的实际类型,可能使用 IoC容器。
大多数 ORM(包括 EF)都使用此技术来与数据库无关。
关于asp.net - 连接更改对代码的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14082117/