Re[2]: [ANN] Emit Mapper
От: Legion13  
Дата: 25.04.10 16:22
Оценка:
Здравствуйте, i1yich, Вы писали:

I>Я посмотрел, из 3.5 там используется только System.Core. Для net2.0 ее вполне можно заменить на LinqBridge. Там есть реализации Enumerable, Func<> и Action<> и определен ExtensionAttribute, единственное из необходимого твоему мапперу, чего там нет — это класса HashSet, но его можно заменить на HashTable.


Можете просто взять System.Core из поставки FW 3.5
Re[11]: [ANN] Emit Mapper
От: Mr.Cat  
Дата: 25.04.10 16:27
Оценка:
Здравствуйте, mrTwister, Вы писали:
T>Эта задача решается через построение графа объектов и это можно сделать через кастомную конфигурацию к EM. По-умолчанию ЕМ граф не строит, но если хочешь, я могу вечером накидать несколько строк кода, которые показывают, как это сделать с помощью ЕМ.

Мне бы, кстати, тоже было интересно. Хотел на днях прикрутить EM для маппинга графов, но не смог.
Re: [ANN] Emit Mapper
От: cadet354 Россия
Дата: 06.05.10 14:37
Оценка:
Здравствуйте, mrTwister, Вы писали:

T>http://emitmapper.codeplex.com


насколько эта библиотека потокобезопасна?
например такой подход
private static readonly ObjectsMapper<ActivationCodeRequest, SoldLicense> requestToLicense =
            ObjectMapperManager.DefaultInstance.GetMapper<ActivationCodeRequest, SoldLicense>();
            // и потом где-то в методах
            public SoldLicense GetLicense(ActivationCodeRequest request)
            {
              // код поскипан
              SoldLicense license=requestToLicense.Map(request);
              // код поскипан
              return license;
            }

жизнеспособен?
... << RSDN@Home 1.2.0 alpha 4 rev. 1270>>
Re[12]: [ANN] Emit Mapper
От: mrTwister Россия  
Дата: 07.05.10 07:33
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

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

T>>Эта задача решается через построение графа объектов и это можно сделать через кастомную конфигурацию к EM. По-умолчанию ЕМ граф не строит, но если хочешь, я могу вечером накидать несколько строк кода, которые показывают, как это сделать с помощью ЕМ.

MC>Мне бы, кстати, тоже было интересно. Хотел на днях прикрутить EM для маппинга графов, но не смог.



К сожалению, я ошибся, в текущей версии это не сделать Не хватает метода расширения, чтобы можно было получить объект после того, как он был создан, но до того, как началось копирование его свойств.
лэт ми спик фром май харт
Re[2]: [ANN] Emit Mapper
От: mrTwister Россия  
Дата: 07.05.10 07:35
Оценка: 4 (1)
Здравствуйте, cadet354, Вы писали:

C>насколько эта библиотека потокобезопасна?

C>например такой подход
C>
C>private static readonly ObjectsMapper<ActivationCodeRequest, SoldLicense> requestToLicense =
C>            ObjectMapperManager.DefaultInstance.GetMapper<ActivationCodeRequest, SoldLicense>();
C>            // и потом где-то в методах
C>            public SoldLicense GetLicense(ActivationCodeRequest request)
C>            {
C>              // код поскипан
C>              SoldLicense license=requestToLicense.Map(request);
C>              // код поскипан
C>              return license;
C>            }
C>

C>жизнеспособен?

Да, жизнеспособен. Сгенерированные мапперы потокобезопасны и lock-free.
лэт ми спик фром май харт
Re[13]: [ANN] Emit Mapper
От: Mr.Cat  
Дата: 07.05.10 07:50
Оценка: +1
Здравствуйте, mrTwister, Вы писали:
T>К сожалению, я ошибся, в текущей версии это не сделать Не хватает метода расширения, чтобы можно было получить объект после того, как он был создан, но до того, как началось копирование его свойств.
Или возможности вызвать копирования свойств из кастомного ConvertUsing.
Re[14]: [ANN] Emit Mapper
От: mrTwister Россия  
Дата: 07.05.10 11:38
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

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

T>>К сожалению, я ошибся, в текущей версии это не сделать Не хватает метода расширения, чтобы можно было получить объект после того, как он был создан, но до того, как началось копирование его свойств.
MC>Или возможности вызвать копирования свойств из кастомного ConvertUsing.

Этот вариант даже лучше!
лэт ми спик фром май харт
Re[15]: [ANN] Emit Mapper
От: Collega  
Дата: 17.05.10 09:16
Оценка:
Здравствуйте, mrTwister, Вы писали:

T>Здравствуйте, Mr.Cat, Вы писали:


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

T>>>К сожалению, я ошибся, в текущей версии это не сделать Не хватает метода расширения, чтобы можно было получить объект после того, как он был создан, но до того, как началось копирование его свойств.
MC>>Или возможности вызвать копирования свойств из кастомного ConvertUsing.

T>Этот вариант даже лучше!


Добрый!

Есть такая ситуация:


public class ParentClass
{
    public ParentClass()
    {    
        Child = new ChildClass();
    }

    public ChildClass Child
    {
        get;
        private set;
    }
}


Нужно сделать копию ParentClass. Однако вложенный ChildClass не мапится, т.к. сеттер свойства ParentClass.Child приватный. Существуют ли варианты заставить его мапиться не меняя private set на public set?
Re: [ANN] Emit Mapper
От: Аноним  
Дата: 03.07.10 10:28
Оценка:
Здравствуйте, mrTwister, Вы писали:

А он умеет маппить xml структуры?
Re: [ANN] Emit Mapper
От: cadet354 Россия
Дата: 06.09.10 08:12
Оценка:
Здравствуйте, mrTwister

а как получить аналог ForMember из automapper?
... << RSDN@Home 1.2.0 alpha 4 rev. 1270>>
Re: [ANN] Emit Mapper
От: Аноним  
Дата: 09.09.10 12:46
Оценка:
А можно практический вопрос? хочется посмотреть на товар лицом )

Есть класс Person со свойствами Фамилия Имя Отчество и т.д.
и есть xml
<xml><Person Фамилия="..." Имя="..." Отчество="..."></xml>

как с помощью Emit Mapper замапить поля на созданный экземпляр класса Person?
Re[2]: [ANN] Emit Mapper
От: IT Россия linq2db.com
Дата: 09.09.10 13:37
Оценка:
Здравствуйте, Аноним, Вы писали:

А>как с помощью Emit Mapper замапить поля на созданный экземпляр класса Person?


Никак. Это мапер объектов в объекты.
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: [ANN] Emit Mapper
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 09.09.10 23:40
Оценка: +1
Здравствуйте, Аноним, Вы писали:

А>как с помощью Emit Mapper замапить поля на созданный экземпляр класса Person?


Такое умеет дефолтный xml-(де)сериализатор XmlSerializer
[КУ] оккупировала армия.
Re: [ANN] Emit Mapper
От: LF  
Дата: 23.09.10 13:33
Оценка:
Добрый день,
подскажите, как получить Flattening из automapper?
Спасибо.
Re[2]: [ANN] Emit Mapper
От: mrTwister Россия  
Дата: 24.09.10 11:04
Оценка:
Здравствуйте, LF, Вы писали:

LF>Добрый день,

LF>подскажите, как получить Flattening из automapper?
LF>Спасибо.

Там в примерах есть:
http://emitmapper.codeplex.com/SourceControl/changeset/view/55578#1192663

Использование:
http://emitmapper.codeplex.com/SourceControl/changeset/view/55578#691132
лэт ми спик фром май харт
Re[3]: [ANN] Emit Mapper
От: LF  
Дата: 24.09.10 11:22
Оценка:
T>Там в примерах есть:
T>http://emitmapper.codeplex.com/SourceControl/changeset/view/55578#1192663

T>Использование:

T>http://emitmapper.codeplex.com/SourceControl/changeset/view/55578#691132

Спасибо, не плохо бы такое на главную страницу вывести, честно говоря не пришло в голову,
что в транке может быть больше примеров чем описано в документации.
Re: [ANN] Emit Mapper
От: FreddieM  
Дата: 07.11.10 17:20
Оценка:
Здравствуйте, mrTwister, Вы писали:

T>http://emitmapper.codeplex.com


T>Emit Mapper — это мощная легковесная библиотека для проецирования одних объектов на другие. Имеет следующие особенности:


T>1) Очень быстрая. Работает через Emit с производительностью рукописного кода. По разным тестам в 150-600 раз быстрее чем AutoMapper. Бенчмарк


T>2) Очень гибкая. Проецировать можно что угодно на что угодно. Например, датаридер на объекты, объекты на SQL команды (UPDATE, INSERT), объекты на строку (сериализация), строку на объекты (десериализация) и так далее. Короче говоря, в рантайме можно задать произвольный меппинг чего угодно на что угодно, который работает со скоростью рукописного кода.


Проект ещё поддерживается? Он ещё интересен автору? Хочу попробовать использовать в реальном коммерческом продукте, а на CodePlex'е beta, которая не обновлялась с января...

PS: С .NET Framework 4.0 проблем не будет?
Re[2]: [ANN] Emit Mapper
От: mrTwister Россия  
Дата: 11.11.10 08:25
Оценка:
Здравствуйте, FreddieM, Вы писали:

FM>Проект ещё поддерживается? Он ещё интересен автору? Хочу попробовать использовать в реальном коммерческом продукте, а на CodePlex'е beta, которая не обновлялась с января...

Проект поддерживается, баги, если таковые обнаружатся, пофиксятся.

FM>PS: С .NET Framework 4.0 проблем не будет?

Не должно.
лэт ми спик фром май харт
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.