が登録されました。最初の質問:) NameプロパティとList of Statesプロパティを持つドメインモデルエンティティのエンティティがある場合。さらにその州には名前、州名簿のリストがあり、さらに、広州市は地方自治体を持っています。私はCountryDTOと国の実体をseriliazeしようとしていると私のコンストラクタは、次のようになります:DTOを作成すると、混乱したビット
より良いをexaplainするに
public CountryDTO(Country x)
{
Name = x.Name;
StateList = new List<StateDTO>();
foreach (State state in x.States)
{
StateDTO stateDto = new StateDTO(state);
StateList.Add(stateDto);
}
}
をしかし、私はこの>
public StateDTO(State x)
{
Name = x.Name;
CountryDTO Country = new CountryDTO(x.Country);
CantonList = new List<CantonDTO>();
foreach (Canton c in x.Cantons)
{
CantonDTO cantonDto = new CantonDTO(c);
CantonList.Add(cantonDto);
}
}
のように見えますStateDTOと深いつもりだとき
私のStateDTOは自分の国の親オブジェクトを認識する必要があるので、私はこの行を持っています。 CountryDTO Country = new CountryDTO(x.Country);これは問題です(再帰参照の可能性があります)。これは、Stateオブジェクトを親として持つCantonで発生します。 この親エンティティをロードしてこのエラーを回避する方法です。 Country.Nameのような親オブジェクトへの参照が文字列としてCountryNameが必要です。 public void StateDTO(State x, CountryDTO parent)
にpublic void StateDTO(State x)
をし、その後StateDTO stateDto = new StateDTO(state, this);
でそれを呼び出す:
希望、私はあなたが変更することができます:)