私はかなりの量のグーグルを実行し、AutoMapper wikiを調べましたが、AutoMapperでAs<>メソッドが何をするかの定義を見つけることができません。
私はいくつかの推測があります。少し遊んだことがあります。しかし、私はいくつかのドキュメントを見る必要があるように感じます。
メソッドの名前は、効果的なグーグルにはあまりにも一般的な言葉だと思います。
ドキュメントがこのメソッドのどこにあるかを知っている(またはその詳細を知っている)場合は、投稿してください。
私はかなりの量のグーグルを実行し、AutoMapper wikiを調べましたが、AutoMapperでAs<>メソッドが何をするかの定義を見つけることができません。
私はいくつかの推測があります。少し遊んだことがあります。しかし、私はいくつかのドキュメントを見る必要があるように感じます。
メソッドの名前は、効果的なグーグルにはあまりにも一般的な言葉だと思います。
ドキュメントがこのメソッドのどこにあるかを知っている(またはその詳細を知っている)場合は、投稿してください。
マッピングリダイレクションです。次のテストはそれを示しています。
[TestFixture]
public class DestinationTypePolymorphismTest
{
public class Customer
{
public int Id { get; set; }
public string Name { get; set; }
}
public class CustomerStubDTO
{
public int Id { get; set; }
}
public class CustomerDTO : CustomerStubDTO
{
public string Name { get; set; }
}
public class Order
{
public Customer Customer { get; set; }
}
public class OrderDTO
{
public CustomerStubDTO Customer { get; set; }
}
[Test]
public void Mapper_Should_Allow_Overriding_Of_Destination_Type()
{
var order = new Order() { Customer = new Customer() { Id = 1, Name = "A" } };
Mapper.CreateMap<Order, OrderDTO>();
Mapper.CreateMap<Customer, CustomerDTO>();
Mapper.CreateMap<Customer, CustomerStubDTO>().As<CustomerDTO>();
var orderDto = Mapper.Map<Order, OrderDTO>(order);
var customerDto = (CustomerDTO)orderDto.Customer;
Assert.AreEqual("A", customerDto.Name);
Assert.AreEqual(1, customerDto.Id);
}
}
'As'メソッドに関するドキュメントはまだ見つかりませんでしたが、私が知る限り、これはマッピングのリダイレクトです。
たとえば、次のコードは次のとおりです。
Mapper.CreateMap<SomethingFromWebService, ISomething>().As<Something>();
手段:このマッピング( )では、それをISomething
解決します。As
Something
注:この質問は、この回答のコンテキストを少し提供することができます。