.NET数据库访问:最新技术,比较(2011)

时间:2011-07-28 10:18:47

标签: .net database

事实上,我有几个问题,我希望可以客观地回答。

  1. 在.NET中可以使用哪种标准而不是过时的访问数据库技术? 我知道以下内容:

    • ADO.NET
      • 使用DbDataReader
      • 使用DataSet,DataTable等
      • 内部ASP作为SqlDataSource
    • EF
    • LINQ to SQL
    • NHibernate(实际上是第三方,但似乎是某种标准解决方案)
  2. 其中哪些仅限于某些数据库提供商? 据我所知,ADO.NET支持大多数数据库类型,LINQ to SQL仅支持MS SQL 2005及更高版本。

  3. 特定.NET版本是否有限制? 例如。 LINQ需要.NET 3.5等。

  4. 它们中哪一个适合提供简单的DTO,它可以简单地编写为代码,包含DB数据,而不是必然绑定到数据库模式? 目标是能够编写类,这些类不需要表示DB的表布局。例如:表示多个表的结果的类。我也很欣赏一种可以很容易地解决的解决方案,例如:在版本控制系统中。

  5. 哪些不应该与某些其他技术一起使用?有已知的限制吗? 我不想在这里开始对性能等进行战争,但我可以想象,某些技术不会合作,或者会非常无效或复杂。

1 个答案:

答案 0 :(得分:2)

首先,ADO.NET是常见的分母,所有这些技术最终都使用ado.net与数据库进行通信。 对于其他问题:

  • Linq To sql仅限于MSSSQL,EF需要一些特殊的驱动程序,NH 几乎与DB交谈:)
  • 让DTO不是OR / M相关问题,无论如何NH允许嵌入DTO 查询和LINQ to SQL / EF也是如此,因为让LINQ允许你select new MyDTO...
  • 在表现方面,没有战争可以打开,它几乎总是一种设计 物质

如果您有兴趣进一步调查,this site可能会有所帮助。