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

  • Break

    Break

    10 Aralık 2005
  • Facebook Developers

    Facebook Dev

    24 ŞUBAT 2009
  • How Things Are Made

    How Things A

    17 HAZİRAN 2008