我正在使用EF 4.1 DBContext API,我正在尝试加载一个名为的父实体User,然后Project使用.Where(x => x.IsEnabled)过滤器显式加载相关实体:
我在“显式加载相关实体时应用过滤器”下找到了一种建议的方法。但我无法弄清楚为什么没有被填充。使用 SQL Profiler,我已经验证我正在查询并返回数据。但它没有被加载到我的用户对象中。user.ProjectsProjects
有什么想法吗?
这是我的代码:
    public User GetUser(string userName)
    {
        try
        {
            using (var context = new Entities())
            {
                var user = context.Users.FirstOrDefault(x => string.Compare(x.UserName, userName, true) == 0);
                context.Entry(user).Collection(x => x.Projects).Query().Where(x => x.IsEnabled).Load();
                //TODO: I expect user.Projects.Count() > 0.
            }
        }
        catch (Exception ex)
        {
            LogWrapper.DumpException(ex);
        }
        return null;
    }