Oracle 宣称,要推出 EF for Oracle,你们相信吗?相信的人,很可笑。正如相信某朝给屁民减税一样。
为什么这么说?大家先别喷我,看完了再喷。
在讨论这个问题之前,我们必须认同以下几点事情:
1、Oracle 是卖数据库的,而且收入占了利润中的很大一部份,并且它的市场占用率第一,而且所占的份额很大。
2、MS 也在卖数据库,并且开始发力企业用户,和 Oracle 抢市场。
3、Linq 技术很受 .NET 用户的欢迎。例如 Linq to SQL,EF,并且这些技术都是出自微软。
在认同上面的几点观点,我们接着讨论。那么 Oracle 对于 EF 的支持,无非下面几种情况:
1、支持
1.1 推出的 EF 很好用,兼容性很好,和微软的 EF 完全一致。
1.2 推出的 EF 加入了大量的 Oracle 特性,不完全兼容微软的 EF 。
2、不支持
先来讨论 1.1 的情况
完全兼容微软的 EF ,这样有个好处,用户可以轻易的将 Oracle 数据库的项目,移植到 MS SQL 上,当然,用户也可以很方便地将 MS SQL 项目移植到 Oracle 上。那么总得来说, Oracle 是流失的客户多,还是新增的客户多呢? 估计是流失的客户多,尤其是 MS SQL 的性能不断提升之后。
1) Oracle 数据库占领了绝大部份的企业市场,从概率上说,更容易流失。
2) Oracle 数据库的超贵,性价比不高。
3) Oracle 数据库每年还收取价格很高的服务费。
所以,完全支持 EF ,基本上不可能。
1.2 的情况
1) 作为一款 ORM ,如果做不到 1.1 的情形,存在的意义也就不大了。
2) 标准是 MS 定的,无法加入 Oracle 数据库的特性。不兼容,只能显得 Oracle 数据库更无能,比不 MS SQL 。你的框架在 .NET 上跑,要玩你,还不容易。
微软之前,就利用过操作系统,打击过开发工具的竞争对手 —— Borland
2 的情况
如果 Oracle 宣称不支持 EF,大量的开发者的口水会喷死它,舆论的压力,不但会让它形象受损,而且会跑掉不少潜在的客户。尽管 Oracle 唯利是图,但是 Oracle 绝对不敢。(做婊子的,都喜欢给自己立块牌)
事实上,在 Oracle 的官方论坛上,已经有大量的 .NET 用户在那里喷了,说每年都要交那多钱给 Oracle ,这点小东西都没有给他们做出来。
所以 Oracle 现在所有的手段,就和某国要给 P 民减税的手段一段。整天就在那里喊,都说了多少久了呀?要真是想减税,还不早就减了。
EF for Oracle 也一样,都说了多少年了呀,有影子了没有?有谁试用过的,留个言。
现在,已经有 N 多的第三方推出了 Linq to Oracle。
Oracle 财大气粗,要人有人,要钱有钱,为什么第三方都能做出来的东西,它都还没有做出来呢?只能说明,它根本不想做。是在敷衍广大的 .NET 用户。
谁会真心去做呢?只有第三控件公司,才会投入精力去做。而且,会在各个数据库上,保持着良好的兼容性。
注意:本文并没有说 Oracle 一定不会推出 EF for Oracle 。
有朋友提到,Oracle 已经推出了 EF for Oracle 了,但是,支持到什么程度呢?能不能做到平滑的移植呢?希望能用数据来说明。