私は式ツリーが初めてで、以下を実装する方法がわかりません。アイデアやリンクに感謝します。
対応するビュー モデルへのマッピングが必要な 2 つのエンティティがあります。アプリケーションのさまざまな部分で再利用されるスタンドアロンの式をマッパーにしたいと考えています。
このマッパー式は、MainEntity を MainEntityViewModel に変換するためのものです。
public static Expression<Func<MainEntity, MainEntityViewModel>> MainMapper =
me => new MainEntityViewModel()
{
Property1 = me.Property1, // direct mapping
OtherEntityModel = new OtherEntityViewModel() // here i'd like to use outer expression
{
Name = me.OtherEntityObject.Name,
Description = me.OtherEntityObject.Description
}
};
また、私の OtherEntity が次のような別の式であることを望みます。
public static Expression<Func<OtherEntity, OtherEntityViewModel>> OtherMapper =
oe => new OtherEntityViewModel()
{
Name = oe.Name,
Description = oe.Description
};
しかし、最初のマッパー内でそれを適用する方法がわかりません。どういうわけか最初のツリーを拡張する必要があると思いますが(式ノードを追加するなど)、何をすべきか正確にはわかりません。
ありがとうございました!
PS: AutoMapper などについては知っていますが、手動マッピングを使用したいと考えています。