论坛首页 编程语言技术论坛

.net下的ORM用什么比较好,场景为CS架构的ERP

浏览 29151 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-11-06   最后修改:2008-11-06
前端是winform一类的,后段用WCF通讯,VS版本是2008。我看了一下linq to sql的文档,竟然不支持query级别的eager fetch,polymorphic也不支持,而且语法很古怪(用惯了RoR,觉得纯sql才好……)。这东西太新了,貌似还不太完善阿……nHibernate还停留在1.2呢,用nHibernate就意味着满屏幕的XML,非常烦,其他的选择貌似只有Castle那个基于nHibernate的ActiveRecord了……

.net上的ORM根本没有java那么强大,我接触过的一些.net程序员还停留在存储过程处理业务逻辑的时代……

还有,是否有必要使用Spring.net,感觉.net中IoC的用途不如J2EE大,好多工作全靠IDE撑着……
   发表时间:2008-11-06  
用ibatis.net吧,这东西和java的一样成熟。nhibernate 2.0beta也可以考虑。
0 请登录后投票
   发表时间:2008-11-06   最后修改:2008-11-06
iBatis根本无法处理关联(以前的版本,现在不知道)

顺便表扬一下最新的C#,很好很强大。单从语言来讲,可以完败java了。

但是同样的,java的open source可以完败.net……
0 请登录后投票
   发表时间:2008-11-06  
Copy Code
var custs = (
  from c in db.Customers
  where c.City == "London"
  select c )
  .Including(c => c.Orders
    .Including(o => o.OrderDetails
      .Including(od => od.Product)));


这个是你要的eager fetch么?
0 请登录后投票
   发表时间:2008-11-06  
ray_linn 写道
Copy Code
var custs = (
  from c in db.Customers
  where c.City == "London"
  select c )
  .Including(c => c.Orders
    .Including(o => o.OrderDetails
      .Including(od => od.Product)));


这个是你要的eager fetch么?


我没在2008的文档里面找到,貌似新版本删掉了……
小猫是新人,请大大指教……
0 请登录后投票
   发表时间:2008-11-06  
还有,据传说.net以后可能要发展ADO.NET Entity Framework而放弃linq,不知情况是否属实……
0 请登录后投票
   发表时间:2008-11-06  
刑天战士 写道
iBatis根本无法处理关联(以前的版本,现在不知道)

顺便表扬一下最新的C#,很好很强大。单从语言来讲,可以完败java了。

但是同样的,java的open source可以完败.net……


我觉得java open source的三个支柱SSH已经开始遥遥欲坠了。

Struts vs ASP.NET MVC -- 几乎平分秋色

Spring --- 几乎无用武之地。

hibernate vs LINQ  --- 略占上风。只看LINQ 2.0了

其他open source都是骑墙派 nant vs ant, log4net vs log4j,ibatis vs ibatis.net都是同根生,没什么分别。
0 请登录后投票
   发表时间:2008-11-06   最后修改:2008-11-06
刑天战士 写道
还有,据传说.net以后可能要发展ADO.NET Entity Framework而放弃linq,不知情况是否属实……


竞争性吧,MS的方向也有点转变,喜欢给你多些选择。如果MVP vs MVC,从本意上,MS不想谁取代谁,这个决定让你自己做。

比如MVP vs MVC

我一直觉得MVC是建立在一种虚构的不切实际的想像中的,事实上很多企业系统根本不存在变更只有消亡---他们很快被开发出来,又很快被新的系统取代。这时MVP远比MVC来得高效。

但又有些系统,一直长命百岁,修修补补,MVC的架构就好多了。
0 请登录后投票
   发表时间:2008-11-06  
技术开发的角度来看,如果你的实体/业务模型(或者称为问题域)和已有的数据模型不匹配的时候,你需要考虑ADO EF,反正如果你的实体/业务模型(或者称为问题域)和已有的数据模型匹配,那么LINQ to SQL 会是不错的选择
0 请登录后投票
   发表时间:2008-11-06  
今天才发现在javaeye有.net的版块,各位在java,ror们的包围下坚持到现在不容易啊,linq2sql貌似要被EF代替了,而且开源的dblinq就是个大垃圾,很多功能没实现,所以跨数据库基本不指望了,lz直接上EF吧。
哎,.net上确实还是有很大一部分人还在存储过程,dbcommand直接执行sql的阶段,很多人压根没听过orm,ioc,aop。。。
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics