Oracle宣称,要推出EF for Oracle,你们相信吗?相信的人,很可笑。
为什么这么说?大家先别喷我,看完了再喷。
在讨论这个问题之前,我们必须认同以下几点事情:
1、Oracle是卖数据库的,而且收入占了利润中的很大一部份,并且它的市场占用率第一,而且所占的份额很大。
2、MS也在卖数据库,并且开始发力企业用户,和Oracle抢市场。
3、Linq技术很受.NET用户的欢迎。例如LinqtoSQL,EF,并且这些技术都是出自微软。
在认同上面的几点观点,我们来看看三种人关于Oracle对于EF的支持的看法吧,基本上也就这几种看法:
小A君:支持,因为推出的EF很好用,兼容性很好,和微软的EF完全一致。
小B君:半支持,因为推出的EF加入了大量的Oracle特性,但是不完全兼容微软的EF。
小C君:不支持(没有理由)
以下是口水战的内容:
对于小A说的完全兼容微软的EF,这样有个好处,用户可以轻易的将 Oracle 数据库的项目,移植到 MS SQL 上,当然,用户也可以很方便地将MS SQL项目移植到 Oracle 上。
但是从客户考虑,Oracle是流失的客户多,还是新增的客户多呢?估计是流失的客户多,尤其是MS SQL的性能不断提升之后。
1) Oracle数据库占领了绝大部份的企业市场,从概率上说,更容易流失。
2) Oracle数据库的超贵,性价比不高。
3) Oracle数据库每年还收取价格很高的服务费。
所以集合众家认为,完全支持EF,基本上不可能。故,小A在口水战中败北。
对于小B说的半兼容,作为一款ORM,如果做不到小A说的那个样子,存在的意义也就不大了。另外,标准是MS 定的,无法加入Oracle数据库的特性。不兼容,只能显得 Oracle 数据库更无能,比不上MS SQL 。你的框架在.NET上跑,要玩你,还不容易。微软之前,就利用过操作系统,打击过开发工具的竞争对手——Borland。故,小B杯具了。
对于小C,如果Oracle宣称不支持EF,大量的开发者的口水会喷死它,舆论的压力,不但会让它形象受损,而且会跑掉不少潜在的客户。尽管 Oracle 唯利是图,但是 Oracle 绝对不敢。故,小C趴下了。
事实上,在Oracle的官方论坛上,已经有大量的.NET用户在那里喷了,说每年都要交那多钱给Oracle,这点小东西都没有给他们做出来。
现在,已经有N多的第三方推出了Linq to Oracle。
Oracle财大气粗,要人有人,要钱有钱,为什么第三方都能做出来的东西,它都还没有做出来呢?只能说明,它根本不想做。是在敷衍广大的.NET用户。
谁会真心去做呢?只有第三控件公司,才会投入精力去做。而且,会在各个数据库上,保持着良好的兼容性。
注意:本文并没有说Oracle一定不会推出EF for Oracle 。
有朋友提到,Oracle已经推出了EF for Oracle了,但是,支持到什么程度呢?能不能做到平滑的移植呢?希望能用数据来说明。
原文链接:http://www.cnblogs.com/ansiboy/archive/2011/06/23/2088216.html
【编辑推荐】