LINQ to Entity

本文探讨了LINQ to SQL与Entity Framework的区别,强调Entity Framework提供更高的灵活性但可能影响性能。此外,介绍了如何在VS2017中生成Entity Data Model,包括添加、配置数据库连接、选择数据对象,并简要提及了async和await在数据操作中的作用。
摘要由CSDN通过智能技术生成

LINQ to SQL和 Entity Framework 的区别

LINQ to SQL和Entity Framework都是一种包含LINQ功能的对象关系映射(ORM)技术。他们之间的本质区别在于Entity Framework对数据库架构和查询的类型实行了更好的解耦。使用Entity Framework,查询的对象不再是完全对应数据库架构的C#类,而是更高层的抽象:Entity Data Model。这提供了额外的灵活性,但是在性能和简单性上面也会有所损失。具体二者之间的区别如下:

1.LINQ to SQL所支持的特性比较少,EntityFramework支持的特性比较多.

2.LINQ to SQL在数据表与类之间提供了一对一的映射。如果有Customers,Orders, 和Lineitems表,就会有Customer,Order, 和Lineitem类来匹配每一个表。EntityFramework可以使你有一个Customer类,而这个类可以匹配多个表。这就意味着公司名可以 在一个表中,但是地址是在另一个表中,而电话号码又在另一个表中.

3.LINQ to SQL只支持Microsoft SQL Server 2000及之后的版本。EntityFramework可以支持IBMDB2, Sybase SqlAnywhere, Oracle, SQLAzure等。

4.微软在发布了Entity Framework之后就停止了发布新的LINQ to SQL,但由于LINQto SQL的简单性,它还是很受欢迎的,所以微软仍将继续对LINQto SQL的用户进行支持与反馈,但是LINQto SQL将不再发布新版本进行完善。

生成数据模型

本demo 以vs2017的console application为例。

1. 新建空的项目

2. 右键添加ADO.NET Entity Data Model

 

 选择从一个已经存在的数据库生成模型,配置数据库连接,选择表、视图、和存储过程。还可以选择使用复数还是单数形式的对象名(例如,Products 表的行被命名为 Product )、是否包含外键关系等。

3. 查


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值