Linq to sql 内联 和 外联的使用方法-新闻详情

Linq to sql 内联 和 外联的使用方法


发布时间:2017-05-24责任编辑:朱明 浏览:1801


1.png

 

如侣行中通知的外联实例:

2.png

*   Linq  全链接的使用方法

实例:资讯表和帖子表共同组成一个数据源

 

3.png

var  dataQuery = (from c  in  artcleQuery select  c).Union(from e  in  tieziQuery select  e)

4.png

*   Efj  oin()Include()的异同

EF中表连接常用的有Join()Include(),两者都可以实现两张表的连接,但又有所不同。

例如有个唱片表AlbumAlbumId,Name,CreateDate,GenreId),表中含外键GenreId连接流派表Genre(GenreId,Name)。每个唱片归属唯一一个流派,一个流派可以对应多个唱片。

1.Join(),两表不必含有外键关系,需要代码手动指定连接外键相等(具有可拓展性,除了值相等,还能指定是>,<以及其他对两表的相应键的关系),以及结果字段。

2.Include(),两表必须含有外键关系,只需要指定键名对应的类属性名即可,不需指定结果字段(即全部映射)。默认搜索某表时,不会顺带查询外键表,直到真正使用时才会再读取数据库查询;若是使用 Include(),则会在读取本表时把指定的外键表信息也读出来。并且Include()是立即查询的,像ToList()一样,不会稍后延迟优化后再加载。

这样其实效率很低,因为如果两张表记录很大,那么连接是个费时费资源的事情,建议少用,或者先筛选出需要的结果集再连接。



诚信工作室  供稿