Properties mapping in .Net.
От: sLMoloch Беларусь http://slmoloch.blogspot.com
Дата: 23.06.08 06:45
Оценка:
Народ,
Подскажите плиз какой-нибудь компонент для маппинга пропертей из одного объекта в другой. К примеру из DAL entity в BL entity. От компонента требуется:

1) Поддержка двухстороннего маппинга. То бишь описываем где-то map, и по ней данные могут преливаться как из первого объекта во второй так и обратно.
2) Поддержка форматтеров — копирование может происходить из проперти одного типа в проперти совершенно другого типа.
3) Желательно чтобы мапа проверялась на этапе компиляции ( + чтобы тулы автомати4еского рефактринга с ней без проблем работали).

Заранее благодарен.
Все фигня кроме п4ел... П4елы впринципе тоже фигня, но их много.
Re: Properties mapping in .Net.
От: rameel https://github.com/rsdn/CodeJam
Дата: 23.06.08 07:22
Оценка: 2 (1)
Здравствуйте, sLMoloch, Вы писали:

LM>Народ,

LM>Подскажите плиз какой-нибудь компонент для маппинга пропертей из одного объекта в другой. К примеру из DAL entity в BL entity. От компонента требуется:

Посмотри на BLToolkit. Форум: http://rsdn.ru/Forum/?group=prj.rfd
... << RSDN@Home 1.2.0 alpha 4 rev. 1090 >>
Re: Properties mapping in .Net.
От: cadet354 Россия
Дата: 23.06.08 07:22
Оценка: 1 (1)
Здравствуйте, sLMoloch, Вы писали:

LM>Народ,

LM>Подскажите плиз какой-нибудь компонент для маппинга пропертей из одного объекта в другой. К примеру из DAL entity в BL entity. От компонента требуется:

LM>1) Поддержка двухстороннего маппинга. То бишь описываем где-то map, и по ней данные могут преливаться как из первого объекта во второй так и обратно.

LM>2) Поддержка форматтеров — копирование может происходить из проперти одного типа в проперти совершенно другого типа.
LM>3) Желательно чтобы мапа проверялась на этапе компиляции ( + чтобы тулы автомати4еского рефактринга с ней без проблем работали).

LM>Заранее благодарен.

1 и 2 умеет делать BLToolkit.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Properties mapping in .Net.
От: sLMoloch Беларусь http://slmoloch.blogspot.com
Дата: 23.06.08 08:16
Оценка:
Здравствуйте, rameel, Вы писали:

R>Здравствуйте, sLMoloch, Вы писали:


LM>>Народ,

LM>>Подскажите плиз какой-нибудь компонент для маппинга пропертей из одного объекта в другой. К примеру из DAL entity в BL entity. От компонента требуется:

R>Посмотри на BLToolkit. Форум: http://rsdn.ru/Forum/?group=prj.rfd


К сожалению bltoolkit не поддерживает обратный маппинг без объявления мапы для обратного преобразования (Пример перегона проперти в проперти по имени без указания маппига не берем, так как это частный и вырожденный случай). К примеру:

В следующем нужно объявить маппинг SourceObject -> Object1:

                [Test]
        public void ObjectToObjectOO()
        {
            SourceObject so = new SourceObject();
            Object1      o  = new Object1();
 
            Map.ObjectToObject(so, o);

            Assert.AreEqual(10, o.Field1);
            Assert.AreEqual(20, o.Field2);
            Assert.AreEqual(30, o.Field3);
        }


а в этом придется объявить Object1 -> SourceObject:

                [Test]
        public void ObjectToObjectOOReverse()
        {
            Object1      o  = new Object1();
                        SourceObject so = new SourceObject();
 
            Map.ObjectToObject(o, so);

            Assert.AreEqual(10, so.Field1);
            Assert.AreEqual(20, so.Field2);
            Assert.AreEqual(30, so.Field3);
        }



А хочется чтобы при обоих преобразованиях была мапа SourceObject <-> Object1.
Все фигня кроме п4ел... П4елы впринципе тоже фигня, но их много.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.