2015-06-11 2 views
3

Im работает над проектом, который должен потреблять веб-сервис ebay, и я использую их eBay .NET SDK. И поскольку между их моделью и моей моделью много картографирования, я подумал, что, наконец, попробую AutoMapper.AutoMapper - типы сглаживания с очень длинными именами свойств

Так что это API им Ebay работает с (небольшая часть):

public class SellingManagerProductType { 

    SellingManagerProductDetailsType SellingManagerProductDetails { get; set; } 

    SellingManagerProductInventoryStatusType SellingManagerProductInventoryStatus { get; set; } 

    // other properties 
} 

public class SellingManagerProductDetailsType { 
    long ProductID { get; set; } 
    string ProductName { get; set; } 
    string CustomLabel { get; set; } 
    // other properties... 
} 

public class SellingManagerProductInventoryStatusType { 
    int QuantityActive { get; set; } 
    int QuantityScheduled { get; set; } 
    int QuantitySold { get; set; } 
    int QuantityUnsold { get; set; } 
    // other properties.. 
} 

Для этого случая моя модель очень проста ПОКО, это просто плоский SellingManagerProductType я использую в CRUD операций.

public class EbaySellingManagerProduct { 
    long ProductID { get; set; } 
    string ProductName { get; set; } 
    string CustomLabel { get; set; } 
    int QuantityActive { get; set; } 
    int QuantityScheduled { get; set; } 
    int QuantitySold { get; set; } 
    int QuantityUnsold { get; set; } 
} 

Теперь я хотел бы, чтобы сгладить SellingManagerProductType моего EbaySellingManagerProduct с помощью AutoMapper, но если я понимаю AutoMapper соглашения по умолчанию правильно, я бы назвать свои свойства, как это:

long SellingManagerProductDetailsTypeProductID { get; set; } 
string SellingManagerProductDetailsTypeProductName { get; set; } 
string SellingManagerProductDetailsTypeCustomLabel { get; set; } 
int SellingManagerProductInventoryStatusTypeQuantityActive { get;set;} 
etc... 

, который является очень болезненным смотреть и работать с ними ... И гораздо больше такого типа отображений.

Моя первая мысль заключалась в том, что я мог бы использовать .ForMember для этих свойств, но я бы в конечном итоге отобразил множество и множество из них и вряд ли имел бы какие-либо выгоды от использования этого инструмента. Есть ли другие варианты для меня, чтобы избежать этих длинных имен свойств?

Я очень новичок в AutoMapper, и любое руководство будет принята с благодарностью. Благодарю.

ответ

0

Похоже, что имена классов длинны, не обязательно являются свойствами.

В этом случае вы можете псевдонизировать имена классов с помощью операторов using.

Пример:

using Details = My.Namespace.SellingManagerProductDetailsType;

После этого, вы можете обратиться к классу SellingManagerProductDetailsType по Details.

Это может сделать вещи короче для вас, но для этого потребуется группа резцов файлов using в верхней части каждого из ваших файлов кода.

Смежные вопросы