2016-01-17 1 views
3

Я пытаюсь использовать Slapper.AutoMapper рядом с Dapper, чтобы выполнить что-то вроде этого: How do I write one to many query in Dapper.Net?.Как нарисовать IList <int> с Slapper.AutoMapper

Мой ПОКО как это:

public class MyEntity 
{ 
    public string Name { get; set; } 
    public string Description { get; set; } 
    public int Level { get; set; } 
    public IList<int> Types { get; set; } 
} 

И мои DB строки возвращаются так:

enter image description here

Так один объект может иметь множество типов. Это, как я карта материал:

dynamic test = conn.Query<dynamic>(sql); Slapper.AutoMapper.Configuration.AddIdentifier(typeof(MyEntity), "Name"); 
var testContact = Slapper.AutoMapper.MapDynamic<MyEntity>(test); 

Однако во всех моих результате объекты собственности Типы равно нулю. Как я могу сопоставить все значения типа в типах IList?

+0

удар в темноте здесь, но вы пробовали 'Slapper.AutoMapper.Configuration.AddIdentifier (TYPEOF (IList ), «Типы»); ' – jvanrhyn

+0

Спасибо, но это не работает. Идентификатор используется для определения строк БД, которые должны быть объединены в один и тот же граф объектов. Поэтому в моем случае «Имя» является идентификатором, так как все 3 строки TestItem1 должны быть агрегированы в 1 сущность, типы должны быть агрегированы как список ... –

+0

Я на самом деле пытаюсь сделать то же самое! Я попытался создать псевдоним соответствующего столбца sql в запросе типа "e.types as Types_", чтобы slapper попытался сопоставить string.empty с типом значения int32. Но это не имеет смысла, поскольку slapper, похоже, обрабатывает только сопоставление ссылочного типа. Вы нашли какое-нибудь обходное решение? –

ответ

5

Проверка последней фиксации на Slapper.AutoMapper хранилище ...

https://github.com/SlapperAutoMapper/Slapper.AutoMapper/commit/5143308bb94a4951d2db43677f253f4386d1a03c

+1

Было бы полезно указать, какие строки (или по крайней мере файлы) вы хотите посмотреть на OP. Приветствия. – andeart

+1

@andeart, фиксация содержит только функцию для решения этой проблемы. – odelvalle

+0

Спасибо за эту функцию. Когда он будет включен в пакет NuGet? –