LINQ to Entity

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

 

 选择从一个已经存在的数据库生成模型,配置数据库连接,选择表、视图、和存储过程。还可以选择使用复数还是单数形式的对象名(例如ÿ

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值