私は、Orderを表すフラットDTOを受け取るWebサービスを使用しています。私は、このフラット表現に注文のビジネス表現を変換する必要があります。
dtoから多形ビジネスオブジェクトへの変換
ビジネス・オブジェクト:
今の質問はどのように私は私のOrder
エンティティを変換するんです。ここ
は、Objects(オブジェクト)
DTOですか?私は2つの可能な解決策を考えることができ
:
は
Order
がDTOとして自分自身を表現する方法を知っている:OrderDTO dto = order.ToDto();
しかし、これはデータ表現を知っている企業体の明らかな欠点があります。Convertor:
OrderDTO dto = Convertor.Convert(order);
の何らかの種類でこれを実行しましたか。
しかし、コンバータ・コードは次のようになりなければならない:(順序はOnlineOrderある)
{
dto.Email =((OnlineOrder)順).Email場合。
} これはもちろん恐ろしいです。
automapperはここで助けてもいいですか(私はそれに本当に精通していません)?
ビジネスオブジェクトのあなたのセットは、あなたにも、このように、インタフェース「IORDER」を抽出かもしれませんが、OrderDTOあるDTOの正確に一つのクラスに対応している場合: 'パブリック抽象クラスご注文はIORDERすべて{' 宣言を実装階層の一番下にある抽象クラスを除いて抽象クラスをサブクラス化します。この方法で、すべての欠落したフィールドのゲッタとセッタを提供することができます。次に、インターフェイスにバインドされたゲッターからすべてのフィールドをDTOのセッターにコピーするcreateOrderメソッドを作成することができます。 –