1. LINQ TO SQL 和EF 特点: LINQ TO SQL和Entity Framework都是一种包含LINQ功能的ORM 也就是所谓的关系对象的映射。其中包括的有DBFrist Code Frist ModeL Frist 三种中方式 来进行和数据库之间的访问。只是形式不同而已本质没有什么区别。都是ORM 之间的转化。最终都是来进行访问底层的数据库的对象 和服务。
简单来说LINQ是为了满足不知道怎么操作数据库的程序员开发设计的,LinQ 可以让他们以一种面向数据对象的方式来思考,及持久化他们的数据。 当然最后来进行访问数据库的无论是Oracle SQL Server MySQL MongoDB DB2 等等 都是最终生成 SQL 语句来进行访问数据库的 和传统的ADO.NET 直接来访问数据库没有什么直接的区别,只是,MicroSoft 将其 CRUD 的一些方法进行封装了而已,让开发使用起来更加的方便 开发的速度更加的快速 ,更加的专注于核心的业务的开发的开发 ,而不是在为这些简单的操作而耽搁太多的时间。可以让开发节省更多的开发的时间 去做更多的事情。
当然你使用SQL Server 中的SQL Profile 来进行 查看 其中生成的SQL , 那么问题来了 如果Oracle MySQL DB2 MongoDB 如何进行查看生成的SQL 语句 了。那么这个时候你需要进行 使用nuGet 来进行添加一个第三方的程序集。MiniProfiler.dll 来进行查看生成的生成的SQL 语句 当然关于如何使用 可以进行参考 (http://www.cnblogs.com/jiekzou/p/6374726.html) 博客上面具有介绍我就不一一的说了。其中 无论是LINQ TO SQL 还是 EF 最终的形式 都是通过DBContent 来进行访问数据库。
LINQ TO SQL 和Entity Framework 两者的本质的区别:
EF对数据库架构和我们查询的中实现更好的解耦。使用EF,我们查询的对象不再是完全对应数据库架构的C#类,而是更高层的抽象:Entity Data Model。这为我们提供了额外的灵活性其中在性能和简单性上面也会有所损失。 这个是必须的。 毕竟在解析中性能以及功能性都是有所损失的。
优点:LINQ TO SQL,是一个轻量级的ORM框架,为Microsoft SQL Server数据库提供快速的应用程序开发,其优点是易于使用、简单、高性能。Entity Framework,为创建数据库架构和实体类之间的映射提供了更好的灵活性,它还通过提供程序支持除了SQL Server之外的第三方数据库。 例如其中的MySQL Oracle MongoDB DB 2 等等 都是可以映射以及访问的。
EF 6.0 经过Microsoft 的改进性能相对于EF 4.0 确实提升了不少 其中对于CRUD 的访问。这意味着我们在系列文章中的LINQ TO DB 查询可以同时适用于EF 4.0 以下的版本和L2S。而且,这也使得LINQ TO SQL 成为我们学习使用LINQ查询数据库的理想技术, 因为保持着对象和关系之间的映射的性 那么 在使用变得的非常的简单 以及灵活性,并且我们学习到的查询原则和技术同样适用于EF。
延伸阅读
学习是年轻人改变自己的最好方式