代码之家  ›  专栏  ›  技术社区  ›  reustmd

贵公司使用什么来访问和映射数据库?这让你高兴还是难过?[关闭]

  •  3
  • reustmd  · 技术社区  · 14 年前

    • 使用ADO.NET(sqlconnection,sqlcommand)自己动手
    • linq到sql
    • 实体框架

    我不是想发动一场战争。这个问题并不是关于英孚或nHibernate是否是一个更好的ORM,它只是你在公司使用的东西。我觉得了解别人在现实世界中实际使用的东西很有趣。

    3 回复  |  直到 9 年前
        1
  •  3
  •   RyanHennig    14 年前

    我在微软的SQL Server组工作,接下来的建议是使用实体框架,而不是Linq to SQL或ADO.net(不过,我的工作不是为公司说话,所以不要把它当作最终的官方词汇)。

    就我个人而言,到目前为止,我只在我的项目中使用了ADO.net和LINQ-to-SQL(很多遗留代码),但我确实认为LINQ-to-SQL比ADO.net好得多,而且从我对实体框架的了解来看,它使用起来更加强大和方便,所以我将在以后的所有数据库开发中使用它。

        2
  •  1
  •   Morteza Manavi    14 年前

    前两个已经不是一个选择了。不使用“使用ADO.NET自己动手”的理由是显而易见的,但是对于LinqtoSQL来说,我应该提到的是,在2008年11月,ADO.NET团队宣布,由于EF&L2针对的是相同的问题,因此他们将继续专注于开发EF,它通过使用EDM与微软即将推出的许多技术保持一致。尽管微软致力于维护L2,并且没有发表任何反对它的声明,但它很好地表明了L2正阻碍着他的退休,微软将在未来的程序员指南中强烈推荐EF胜过L2。
    nHibernate是英孚的一个很好的“替代品”,但问题是,知道并能与nHibernate维持一个项目的资源很可能很难在市场上找到,这可能会导致问题。从特性上讲,我认为比较这两个并不公平,因为EF是一个相当新的,2年前的技术,但是nHibernate是一个成熟的ORM,它的根在Java Hibernate框架上已经存在了很多年。

        3
  •  0
  •   davidsleeps    14 年前

    我不知道这是否有帮助,但似乎你可以在不同的项目上使用任何一个,这取决于它们的大小、需求、复杂性、限制等等…仅仅使用一个可能不是最好的方法…我们使用混合,希望为项目选择最好的选项,这让我很高兴。。。