【发布时间】:2012-11-20 18:47:55
【问题描述】:
我正在将应用程序的持久存储机制从 SQL Compact 移植到 Oracle。
当前实现
应用程序实现了 Entity Framework 5 (EF),但它的耦合非常紧密:(a) EF 和控制器之间没有服务层,并且 (b) EF 和 SQL Compact 之间没有 IRepository 风格的抽象。
C# 模型是简单的 POCO,但具有丰富的数据注释,并使用“代码优先”样式生成 DB 模式。
问题(甲骨文)
我必须使用 Oracle 的标准 ODP.Net 提供程序。提供者支持 EF,但不支持“代码优先”方法,仅支持“模型优先”。
预期的解决方案
我正在尝试找到一种方法来保留与控制器紧密耦合的 EF 实现以及模型类注释的丰富性,同时使用它们来构建 Oracle 可以接受的“模型优先”样式的 EDMX 文件。本质上,我正在寻找一种模仿“代码优先”的方法。
我希望它就像将我的 C# 对象拖到 EDMX 文件中一样简单,但似乎还有很多事情要做。
问题
如何使用已经存在的 C# 模型构建 .EDMX 文件?如果不可能,实现这一目标的下一个最佳解决方案是什么?
注意:请不要推荐第三方付费产品。解决方案必须可以使用 Visual Studio、C#、开源库或某种组合。
【问题讨论】:
-
见上面的注释 - 不能使用第三方支付的产品。
标签: c# oracle entity-framework visual-studio-2012 edmx