在实体框架中加载相关实体:如何过滤应加载哪些实体?

时间:2012-03-05 13:36:01

标签: entity-framework

我有一个具有一对多关系的实体框架模型:Client实体可能有很多Orders

我想加载Client实体和客户端生成的所有Orders,但我的数据库中标记为Obsolete的实体除外。

不幸的是,我无法使用Orders.Load()因为它加载了所有订单并且不接受任何谓词,所以我不能只写client.Orders.Load(o => !o.Obsolete)

那么,我怎么能只加载最新的订单?

1 个答案:

答案 0 :(得分:2)

与投影一起使用:

var client = context.Client.Select(c => new 
    { 
        Client = c, 
        Orders = c.Orders.Where(o => !o.Obsolete)
    });