请教坛子里的高手,现有的OA系统是三层构架  DAL BLL UI Models Common对数据库操作基本都是sql语句(写在DAL层中),
现打算改成EF方式去重写,希望高手说说是否可行,以及两者的优缺点对比。还有个问题,现在系统是winform模式,听领导提到以后可能会改成asp.net版本。会加入一层web服务,希望做过web服务相关项目的高手谈一谈自己的理解,多谢了!!!!

解决方案 »

  1.   

    如果希望用.net 开放数据访问层,那么你可以查查看 ADO.NET Data Service 直接使用 WCF 开放 OData 数据协议。http://blog.csdn.net/fangxinggood/article/details/6378106
      

  2.   

    如果希望用.net 开放数据访问层,那么你可以查查看 ADO.NET Data Service 直接使用 WCF 开放 OData 数据协议。http://blog.csdn.net/fangxinggood/article/details/6378106
      

  3.   

    实体模型感觉。。处理数据慢一些,但是使用方便。。SQL快
      

  4.   

    EF挺好用的,但如果是ORACLE数据库需要下插件才支持。LINQ to Sql也是只支持Sqlserver。也可以选NHibernate,大型项目中用的比较多,比较流行的ORM模型。
      

  5.   

    EF要是做大项目的话还行他的处理数据比较相对处理100条数据和处理1000条数据速度差不多的。。
    数据巨量小的话。还是不适合用的。。但是大部分好想用EF的话都是ORACLE。。
      

  6.   

    我是菜鸟,按照我的理解,三层架构低耦合,那么你换UI,就是换把原来的winform换成web,SQL写好了继续用,改改多麻烦,winform也留着。
      

  7.   

    曾经评估过EF的应用,当时微软还没有正式推出它,但最终放弃了。不是说它不好,它只是使对数据库的编码更符合面向对象的编程的方式,这中ORM技术是在提高开发效率,并不是提高运行效率,或者说是对多数据库的支持要比手工SQL对多数据库的支持要方便一些,但不是绝对,在我们的某个项目上,后来采用了NHibernate,基于组员对Hibernate的熟悉程度,更方便接受一些。简单理解就是,采用ORM的方式,对于普通的CRUD操作,可以视同隔离了SQL语句,对于不熟悉多种SQL的开发人员来说,是比较惬意的事情,如果项目本身不大,且没有多数据库支持,对orm的使用其实也就那么回事了。还有就是,如果后期维护中,涉及到SQL优化的时候,又偏偏涉及到SQL 语句拼写的优化时,手工SQL反而更好调整,因为在ORM下的SQL是框架生成的,要想改sql,得改程序,这动静就不小了而且危险性要大了,当然,也可以让ORM直接执行原生SQL,但还是要改程序。还有一点,数据库结构的变化,导致EF Entity 的变化,也比较麻烦,有人说,数据库结构还能总变?这个还真的总会碰到的
      

  8.   

    OMG 这个话题木人气啊? 不应该呀?
      

  9.   

    看来 EF想优化确实没有SQL语句直接操控来的容易!