ロードされたエンティティが渡されていません
-
01-10-2019 - |
質問
これはおそらく完全な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();
}
私はまだここに何かが足りないと思います...これについての見解はありますか?
所属していません StackOverflow