1

2 つの動的エンティティ間の多対多の関係を削除したいと考えています。

ダミー オブジェクトを使用した例を見たことがありますが、それらは動的ではありませんでした。オブジェクトまたはオブジェクトのコレクション ナビゲーション プロパティの名前は、実行時までわかりません。だから一概には言えませんが、

apple.Oranges.Remove(orange)

動的に行う必要があります。何かのようなもの、

dynamicModel.dynamicCollection(collectionName).Remove(otherDynamicModel)

拡張メソッドは必ずしも必要ではありません。仕事を成し遂げるためのものだけです。これどうやってするの?ありがとう。

(オブジェクトは動的であるため、他にどのような詳細を提供すると役立つかわかりません。)

4

1 に答える 1

1

この場合でも、リフレクションを使用するのが最善だと思います。

((dynamic)dynamicModel.GetType().GetProperty(collectionName)
   .GetValue(dynamicModel, null))
       .Remove(otherDynamicModel)

または、それがIList

((IList)dynamicModel.GetType().GetProperty(collectionName)
   .GetValue(dynamicModel, null))
       .Remove(otherDynamicModel)
于 2011-08-30T16:36:50.357 に答える