私はCustomerInvoice
というクラスを含むレガシーアプリケーションを持っています。私はこれらの項目をフレンドリーな名前よりも少ないデータベーステーブルに関連付ける必要があります(たとえば、CUSTOMER_INV_HEAD
、CUST_INV_LINES
、CUST_INV_POSTS
など)。異なる名前のObject to Objectsマッパー
最初に内部名のインターフェイスを継承し、ゲッターとセッターを使用してそれぞれのテーブルに正しいデータを配置しようとしましたが、ロジックがアプリケーションの間違ったレイヤーに存在し、パブリックは望ましくない - メンテナンスの面を気にしないでください!
私はORMについてたくさん読んで、AutoMapperが動作するかもしれないと思ったが、私が見てきた例のほとんどはどちらの名前が同じかを示している。私も同様のようなNHibernateを見直しました。 ...だから私は言っている行うことができるために必要なもの
public class CustomerInvoice
{
public string id; // lives in CUSTOMER_INV_HEAD
public decimal netTotal; // lives in CUSTOMER_INV_HEAD called NET_INV_TOTAL
public IEnumerable<InvoiceLine> Lines; // collection of CUST_INV_LINES but including the id
}
List<CUST_INV_LINES> l = Map<CustomerInvoice.Lines, CUST_INV_LINES>();
をしかし、どのように私は巧妙にその関係を定義することができます。
私はこのような何かをする必要があります特別な方法で関係をコード化しないで維持可能な方法?
あなたが別の名前でプロパティをマッピングすることができますけれどもautomapperと:http://stackoverflow.com/questions/14777601/how-to-specify-mapping-rule-when-names-of-properties-differ – thumbmunkeys
完璧!ありがとう! –