在EF DB优先的场景中同时支持SQL Server和Oracle



我参与了一个使用实体框架+数据库优先+SQL Server的项目。有一个决定是,应用程序必须在不更改代码库的情况下也支持Oracle。

因此,我对基本原型的想法如下:每当SQL Server DB更改时

  • 将更改迁移到Oracle
  • 从两个数据库生成EDMX文件
  • 使用T4设置连接字符串和与代码库一起使用的EDMX

这样可以吗?有更好的方法吗?

谢谢。

我认为这个问题更多的是品味问题,而不是对与错
只要它在测试中正常工作,你就很好。

尽管如此,重要的是要记住,EF并不意味着允许在不修改代码的情况下更改数据源
因此,我认为该要求存在一个基本问题
我想说的是,要么使用OLEDB/ODBC,这正是为了实现这一点,在配置文件中使用所有查询,要么期望随着DBMS引擎的更改而更改代码

请记住,DBMS中存在的数据类型是不同的,例如,Oracle BLOB不是MSSQL二进制。。。

所以-我想说两件事:
1.如果代码通过了你的测试,并且你对结果感到满意,那么你使用的技术就是有效的
2.使您使用的技术符合您的要求。。EF不符合您作为基础技术的要求。ODBC/OLEDB do.

相关内容

  • 没有找到相关文章

最新更新