代码之家  ›  专栏  ›  技术社区  ›  JamesStuddart

加载的实体未被传回

  •  1
  • JamesStuddart  · 技术社区  · 14 年前

    这可能是一个完全的错误。

    我的deepload正在加载相关的entitied fine,并且T实体已正确填充,但是当我返回到原始调用时,它没有保留更新?

    现在我确信EntityObjects是引用类型(愚蠢的问题,但我怀疑我自己)

    这是我的心得:

       public void DeepLoad(T entity, Type[] childTypes)
        {
               Type baseType;
               HasBaseType(typeof (T), out baseType);
               var entitySetName = ProviderHelper.GetEntitySetName(Context, baseType.Name);
    
               var query = Context.CreateQuery<T>(entitySetName);
    
               foreach (var childType in ProviderHelper.GetChildTypeNames(childTypes).Split(','))
               {
                      query = query.Include(childType);
               }
                      entity = query.SingleOrDefault();
    }
    

    任何帮助,包括指指点点和大笑除外:)

    1 回复  |  直到 14 年前
        1
  •  0
  •   JamesStuddart    14 年前

    public void DeepLoad(ref T entity, Type[] childTypes)
    {
    
        Type baseType;
        HasBaseType(typeof (T), out baseType);
        var entitySetName = ProviderHelper.GetEntitySetName(Context, baseType.Name);
    
        var query = Context.CreateQuery<T>(entitySetName);
    
        foreach (var childType in ProviderHelper.GetChildTypeNames(childTypes).Split(','))
        {
            query = query.Include(childType);
        }
        entity = query.SingleOrDefault();
    }
    

    我仍然认为我在这里遗漏了一些东西。。。对此有何看法?