質問

これはおそらく完全なNOOBIEエラーです。

私のディープロードは私の関連する資格のある罰金をロードしており、エンティティは正しく人口がかかっていますが、元の呼び出しに戻ると、更新は維持されていませんか?

今、私は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();
}

指の指さしや笑いなどの助けは除いています:)

役に立ちましたか?

解決

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

私はまだここに何かが足りないと思います...これについての見解はありますか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top