2010-09-08 19 views
1

這可能是一個完整的noobie錯誤。加載的實體未被傳回

我的deepload正在加載我的相關實體罰款和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(); 
} 

包括手指指向和笑的除外:)

回答

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(); 
} 

我仍然認爲我錯過了這裏的東西,雖然......任何意見呢?

相關問題