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

  • ELawshea

    ELawshea

    26 Mayıs 2008
  • HER0R

    HER0R

    16 Aralık 2007
  • kremosakhaz

    kremosakhaz

    25 AĞUSTOS 2006