ank*_*311 3 c# linq-to-entities
我正在尝试学习项目的LINQ.但我对Include方法感到有些困惑.它是干什么用的?相册变量的以下两个初始化之间有什么区别?
var album = storeDB.Albums.Include("Artist").ToList();
var album = storeDB.Albums.ToList();
Run Code Online (Sandbox Code Playgroud)
Include是一种扩展方法,EF使用它来启用实体的预先加载.
在第一种情况下,通过指定Include("Artist"),当你检索Album从实体Albums集,你指示LINQ还检索关联的Artist实体(通常协会是通过数据库中的外键,但你可以在你的模型进行关联以及).
在第二种情况下,在获取相册时,您不会浏览任何相关实体.
请注意,从Entity Framework 4.1及其后开始,有一种使用Include的首选机制,它采用lambda,因此字符串关联变为强类型,即:
var album = storeDB.Albums.Include(alb => alb.Artist).ToList();
Run Code Online (Sandbox Code Playgroud)
记得System.Data.Entity在使用lambda扩展时导入.
| 归档时间: |
|
| 查看次数: |
116 次 |
| 最近记录: |