为什么EF在执行“从”加入时会丢失数据

时间:2012-06-30 00:09:42

标签: c# linq entity-framework linq-to-entities

如果我有这样的LINQ表达式来拉取用户表和相关数据。此查询为我提供了预期的填充对象图:

    var query = from u in Context.Users
                    .Include("EventRegistrations")
                    .Include("State")
                select u;

但是,如果我将另一个相关的导航属性添加为“来自”,即使我没有对其进行任何操作,我只会在没有包含数据的情况下获得结果中的单个对象数据。

    var query = from u in Context.Users
                    .Include("EventRegistrations")
                    .Include("State")
                from ur in u.UserRoles
                select u;

为什么会这样?我想在where子句中的上面的表达式中使用“ur”,但它消除了我获取包含的表数据的能力。

1 个答案:

答案 0 :(得分:1)

可能是因为你没有包含UserRoles

var query = from u in Context.Users
                .Include("EventRegistrations")
                .Include("State")
                .Include("UserRoles")
            from ur in u.UserRoles
            select u;