Microsoft似乎有许多不同的数据访问策略。有“经典”的ADO.NET,Linq2Sql,ADO.NET Entity Framework ,ADO.NET数据服务,ADO.NET动态数据。我确定我已经错过了一些。对我来说,似乎每个框架都适合应用程序体系结构的地方充满了困惑。 Microsoft试图用所有这些数据访问方法解决什么问题?

最佳答案

我看不出这个问题的重点。实际上,这有点古怪。

  • ADO.NET是.NET 1.0的原始数据访问技术。显然,它不属于任何有关新数据访问“策略”的讨论
  • LINQ to SQL是原始的LINQ提供程序之一。它提供了数据库结构和程序中使用的类型之间的一对一映射。它旨在与SQL Server一起使用
  • ADO.NET Entity Framework 更加灵活。它旨在与任何ADO.NET提供程序一起使用,并具有一个映射层,因此该程序可以使用与业务实体比与数据库表更近的类。例如,单个实体可以包括来自多个表的数据。 Microsoft已决定在EF上花费更多的精力,而不是在LINQ to SQL上花费更多的精力。
  • ADO.NET数据服务是EF之上的服务层。如果您打算提供自己的服务,而只需要暴露数据,那将是一个不错的选择。它使用REST接口(interface),并且可以ATOM格式公开数据。
  • ASP.NET 动态数据不是数据访问策略。参见http://www.asp.net/dynamicdata/

  • 两者之间的区别非常明显,以至于很少的研究就可以使它们变得清晰起来。

    关于linq-to-sql - Microsoft试图用所有这些数据访问策略解决什么问题?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1116975/

    10-11 02:59
    查看更多