微软似乎有许多不同的数据访问策略.有“经典”ADO.NET,Linq2sql,ADO.NET实体框架,ADO.NET数据服务,ADO.NET动态数据.我确定我错过了一些.对我来说,每个框架适合应用程序的架构似乎都有很多困惑.微软试图解决所有这些数据访问方法有什么问题?
解决方法
我没有看到这个问题的观点.其实这是一个很有意思的事情.
> ADO.NET是.NET 1.0中的原始数据访问技术.它显然不属于任何关于新数据访问“策略”的讨论
LINQ to sql是原始的LINQ提供者之一.它提供数据库结构和程序中使用的类型之间的一对一映射.这是为了与sql Server一起工作
> ADO.NET实体框架更灵活.它旨在与任何ADO.NET提供程序一起使用,并具有映射层,以便该程序适用于更接近于业务实体而不是数据库表的类.例如,单个实体可以包括来自多个表的数据.微软决定在EF上花费更多的精力,而不是使用LINQ to sql.
> ADO.NET Data Services是EF上的一个服务层.如果你打算生产自己的服务,做什么都不是暴露你的数据,那么这是一个很好的赌注.它使用REST接口,并可以以ATOM格式显示数据.
ASP.NET动态数据不是数据访问策略.见http://www.asp.net/dynamicdata/.
这些区别足够清楚,微不足道的研究将使他们清楚.