エンティティからビジネスオブジェクトを構築するためのツールまたはユーティリティ(マッパーアセンブリ)はありますか(linq -> sql、エンティティフレームワークなどを使用してDBから取得されます..)
が存在しない場合は、エンティティ クラスからプロパティ (私が今行っていること) をコピーして貼り付けるよりも、達成できる最善の方法を誰かが提案できますか?
エンティティからビジネスオブジェクトを構築するためのツールまたはユーティリティ(マッパーアセンブリ)はありますか(linq -> sql、エンティティフレームワークなどを使用してDBから取得されます..)
が存在しない場合は、エンティティ クラスからプロパティ (私が今行っていること) をコピーして貼り付けるよりも、達成できる最善の方法を誰かが提案できますか?
プロジェクションによってビジネス オブジェクトにマップします。これは、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/(.NET Object-DevExpressのリレーショナルマッパーツール)
Automapper の使用例、cmapper は Meldmapping クラスであり、
cMapper.FillBusinessObject(ViewModel, BusinessObject); // To map from ViewModel to BO
cMapper.FillModel(BusinessObject, ViewModel); // To map from BO to ViewModel
投票ありがとうございます :)