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

  • jeffisthecoolguy

    jeffisthecoo

    17 HAZİRAN 2013
  • Alexey - servant of Christ

    Alexey - ser

    15 EYLÜL 2007
  • LevelUpTuts

    LevelUpTuts

    20 Ocak 2012