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

  • Karan Thakur

    Karan Thakur

    23 HAZİRAN 2010
  • Leigh Momii

    Leigh Momii

    10 Mayıs 2006
  • Top Gear

    Top Gear

    27 Mart 2006