26 ado.net entity-framework entity-framework-4
是否可以加载不包括某些属性的实体?这个实体的一个属性选择起来很昂贵.我想懒加载这个属性.那可能吗?
小智 36
既然你已经阅读了所有人的回复,我会给你正确答案.EF不支持延迟加载属性.然而,它确实支持了一个非常强大的概念.它被称为表拆分,您可以将表映射到两个实体.假设数据库中的产品表可以映射到产品实体和ProductDetail实体.然后,您可以将昂贵的领域到实体产品详情,然后创建prodcut和产品详情实体之间的1..1关联.然后,您可以在需要时延迟加载productdetail关联.在我的书的性能章节中,我有一个名为的食谱.13-9.将昂贵的财产转移到另一个实体
希望有所帮助!
使用标量属性,选择性地不加载某个属性的唯一方法是使用ESQL或L2E进行投影:
var q = from p in Context.People
select new
{
Id = p.Id,
Name = p.Name // note no Biography
};
Run Code Online (Sandbox Code Playgroud)
+1丹; 懒惰地做这个比预先加载它更糟糕.如果要控制加载,请明确.
| 归档时间: |
|
| 查看次数: |
12324 次 |
| 最近记录: |