SORU
10 ŞUBAT 2010, ÇARŞAMBA


Automapper - nasıl göster özelliği belirleyiciler yerine yapıcı parametreleri için

Hedef benim belirleyiciler özel durumlarda, nesneyi göster hedef nesnenin constructor kullanarak isteyebilirsiniz. Nasıl bu Automapper kullanarak yapar mısın?

CEVAP
10 ŞUBAT 2010, ÇARŞAMBA


ConstructUsing kullanın

bu eşleme sırasında kullanılacak belirtmek için izin verir. ama diğer tüm özellikler kurallarına göre otomatik olarak eşleştirilir.

Ayrıca bu ConvertUsing farklı olduğunu unutmayın) kuralları göster için devam etmeyecek kullanarak dönüştürmek, haritalama tam denetim vermek yerine.

Mapper.CreateMap<ObjectFrom, ObjectTo>()
    .ConstructUsing(x => new ObjectTo(arg0, arg1, etc));

...

using AutoMapper;
using NUnit.Framework;

namespace UnitTests
{
    [TestFixture]
    public class Tester
    {
        [Test]
        public void Test_ConstructUsing()
        {
            Mapper.CreateMap<ObjectFrom, ObjectTo>()
                .ConstructUsing(x => new ObjectTo(x.Name));

            var from = new ObjectFrom { Name = "Jon", Age = 25 };

            ObjectTo to = Mapper.Map<ObjectFrom, ObjectTo>(from);

            Assert.That(to.Name, Is.EqualTo(from.Name));
            Assert.That(to.Age, Is.EqualTo(from.Age));
        }
    }

    public class ObjectFrom
    {
        public string Name { get; set; }
        public int Age { get; set; }
    }

    public class ObjectTo
    {
        private readonly string _name;

        public ObjectTo(string name)
        {
            _name = name;
        }

        public string Name
        {
            get { return _name; }
        }

        public int Age { get; set; }
    }
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Gigawipf

    Gigawipf

    18 ŞUBAT 2010
  • Jared Busch

    Jared Busch

    25 Mayıs 2011
  • FF Radioo

    FF Radioo

    14 ŞUBAT 2007