这可能是一个完整的noobie错误。
我的deepload正在加载我相关的有效权限并且T Entity已正确填充,但是当我回到原始调用时它还没有保留更新?
现在我确定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();
}
包括指责和笑声在内的任何帮助除外:)
答案 0 :(得分:0)
看起来EntityObjects是值类型而不是引用类型,因为当我将我的方法改为下面时,它都可以正常工作。
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();
}
我仍然认为我在这里遗漏了一些东西......对此有什么看法?