Leg*_*ion 2 .net c# linq entity-framework entity-framework-5
我是LINQ和实体框架的新手.我一直在使用以下方法从数据库中获取集合:
var Publications = from pubs in db.RecurringPublications
select pubs;
Run Code Online (Sandbox Code Playgroud)
Publications表通过外键链接到其他表.我一直用它来引用这样的属性:
Publications.Single().LinkedTable.LinkedTableColumn
Run Code Online (Sandbox Code Playgroud)
有时甚至在链条的下游:
Publications.Single().LinkedTable.LinkedTable.LinkedLinkedTableColumn
Run Code Online (Sandbox Code Playgroud)
我知道你可以指定延迟加载或急切加载,我想知道默认情况下它是如何处理的.默认情况下是否有最大深度?它是否计算出在编译时使用多少连接?
它只会急切地加载特定表格中的内容.
var Publications = from pubs in db.RecurringPublications
select pubs;
Run Code Online (Sandbox Code Playgroud)
只会从您的RecurringPublications表中获取数据.您可以指定是否要加载其他属性,但如果您没有指定任何内容,它将只提供您要求的内容 - 仅此而已.
Publications.Single().LinkedTable.LinkedTableColumn
Run Code Online (Sandbox Code Playgroud)
懒加载你LinkedTableColumn - 现在,如果你的回报是可查询的(这是到目前为止),它会做一个连接,并返回一个SQL查询.
但是,如果已经枚举了呼叫,它将进行第二次呼叫.
博客发布到MSDN的信息
| 归档时间: |
|
| 查看次数: |
409 次 |
| 最近记录: |