博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Entity Framework加载相关实体——Eager Loading
阅读量:4558 次
发布时间:2019-06-08

本文共 1083 字,大约阅读时间需要 3 分钟。

在前面两回我们分别分析了和,这一回我们来分析一下Eager Loading。

在某些情况下,我们可能事先知道要需要加载某些实体的相关实体,这时我们就可以用方法来在加载实体的查询语句中把相关实体也一并查询出来。下面我们还用前两回使用的数据库来写一个例子来分析一下Eager Loading:

View Code
1 using (var context = new TestEntities())  2             {  3                 var players = from p in context.Players.Include("Team").Include("PlayerDetails") where (p.PlayerDetails.Any(d => d.Height > 200)) select p;  4                 foreach (var v in players)  5                 {  6                     string output = string.Format("Team: {0}          Player: {1}", v.Team.TeamName, v.PlayerName);  7                     Console.WriteLine(output);  8                 }  9                 Console.Read(); 10             }

以上代码,我们查询出了身高在2米以上的球员的名字和所在球队,在查询Player信息的同时,也查询了Team表和PlayerDetails表的信息,将三个表的信息全部加载了进来。这里我们需要注意,我们可以控制将哪些相关实体加载入内,但不能够对Include进来的实体进行筛选,如以下代码:

View Code
1 var teams = from t in context.Teams.Include("Players") where (t.TeamID == 1) select t;

我们可以选择加载哪些球队,却不能选择加载球队的哪些球员,该球队的所有球员都将被加载进来。

至此,Entity Framework加载相关实体的三种形式全部分析完毕!

 

--转载

转载于:https://www.cnblogs.com/simonwonn/archive/2012/11/27/2790230.html

你可能感兴趣的文章
git切换分支报错:error: pathspec 'origin/XXX' did not match any file(s) known to git
查看>>
c++中static的用法详解
查看>>
转 我修改的注册表,但是程序运行起来,还是记着以前的
查看>>
图片轮播功能
查看>>
第六周小组作业:软件测试和评估
查看>>
linux Cacti监控服务器搭建
查看>>
debian(kali Linux) 安装net Core
查看>>
centos 7防火墙设置
查看>>
自定义进度条(圆形、横向进度条)
查看>>
spark-streaming-kafka采坑
查看>>
9.Mongodb与python交互
查看>>
18-[JavaScript]-函数,Object对象,定时器,正则表达式
查看>>
读取短信回执
查看>>
EF 数据初始化
查看>>
PreparedStatement与Statement
查看>>
WebService -- Java 实现之 CXF ( 使用CXF工具生成client 程序)
查看>>
[LeetCode]Two Sum
查看>>
Android学习--网络通信之网络图片查看器
查看>>
[LeetCode] Excel Sheet Column Number
查看>>
安卓广播接收者
查看>>