asp.netのMVCのエンティティからのマッピング、ビジネス・オブジェクト(DTOオブジェクト)のためのツール?

StackOverflow https://stackoverflow.com/questions/1340819

質問

(LINQ使用してDBから取得される - > SQL、エンティティ・フレームワークまたは任意の..)を実体からビジネス・オブジェクトを構築する任意のツールやユーティリティ(マッパーアセンブリ)がある

1が存在しない場合には、誰もがエンティティクラスから(私が今やっている)の特性を貼り付けるコピーすることができ、むしろ行うことができる最善の方法を提案することができます。?

ビジェイする

役に立ちましたか?

解決

あなたは投影することにより、ビジネス・オブジェクトにマップされます。これはあなたのPOCOのビジネス・オブジェクトは、あなたのエンティティとは異なる形状を有していても動作します。

var q = from dataObject in Context.DataObjects
        select new BusinessObject
        {
            Name = dataObject.Name,
            RelatedObjectName = dataObject.RelatedObject.Name, // works even if RelatedObject is null
            DirectChildren = from c in dataObject.Children
                             select new ChildBusinessObject
                             {
                                 Name = c.Name
                                 // etc.
                             }
            GrandChildren = from c in dataObject.Children
                            from gc in c.Children
                            select new ChildBusinessObject
                            {
                                Name = c.Name
                                // etc.
                            },
            // etc.
        };

他のヒント

これは直接あなたの質問に答えるされていない - が、あまり複雑なプロジェクトのために、私はこの製品を使用 HTTP ://www.devexpress.com/Products/NET/ORM/する(DevExpress社から.NETオブジェクト・リレーショナル・マッパーツール)

Meldmappingクラスであるcmapper、Automapperの使用例

 cMapper.FillBusinessObject(ViewModel, BusinessObject);  // To map from ViewModel to BO

 cMapper.FillModel(BusinessObject, ViewModel);  // To map from BO to ViewModel

投票していただきありがとうございました:)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top