せずに、ネストされたプロパティの設定参照:AutoMapper:私はAutoMapperでOrderクラスをマッピングするマッピング
class Order
{
public int Id { get; set; }
public int Quantity { get; set; }
public Product Product { get; set; }
}
Productクラス:私は注文および製品クラスの両方のためにAutoMapperマップを作成している
class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
。 Productクラスでは、Id値をスキップします。
問題は、Order.Productを参照としてマップしたいという問題です。私はこの方法でそれを達成することができます:
var order = new Order { Id = 1, Quantity = 5, Product = new Product { Id = 1, Name = "CPU", Price = 500 } };
var newOrder = Mapper.Map<Order, Order>(order);
newOrder.Product = order.Product; // I want to newOrder.Product reference point to the same object as order.Product
このアプローチは、私が.Productてmanualyの参照を設定しなければならないので、私はこれがAutoMapperで行うことにしたい、私にとってはOKではありません。ネストされたProductプロパティを "古典的な方法"でマッピングすることは望ましくありません。新しいオブジェクトではまったく同じ参照が必要です。
ResolveUsingメソッドとIMemberValueResolverを使用してこの問題を解決しようとしましたが、成功しなかったAutoMapperは、他のOrderオブジェクトと同じ参照を設定するのではなく、ネストされたProductプロパティをマッピングしていました。最初の場所で
? –
最新版:v6.0.2 –