Имейте требование сопоставить имя (класс A) и номер телефона (класс B) с классом C, который имеет имя и номер телефона. У человека (имени) может быть более одного номера телефона.Вложенные объекты для одного объекта с использованием Automapper
public class A
{
public int ID { get; set; }
public string Name { get; set; }
public virtual IList<B> B { get; set; }
}
public class B
{
public int A_ID { get; set; }
public string PhoneNumber { get; set; }
}
public class C
{
public string Name { get; set; }
public string PhoneNumber { get; set; }
}
Начало Класс (который имеет B) детали из базы данных, и она должна быть сопоставлен класса C.
public class Activity
{
public IList<C> GetContacts(string name)
{
using (ModelEntities ctx = new ModelEntities())
{
Mapper.CreateMap<A, C>();
Mapper.CreateMap<B, C>();
var result =
ctx.A.SingleOrDefault(ss => ss.Name == name);
}
}
}
Может кто-нибудь помочь мне карту с помощью Automapper?
Благодаря
'Человек (имя) может иметь более одного номера телефона' ... Помимо того, что вы не показываете никаких попыток, вы не описали, что должно произойти в этом сценарии. Класс 'C' ожидает один номер на одно имя. – Jonesopolis
Класс C должен содержать все записи из db. Если у нас есть записи 1. Sam | 0786878768, 2. Сэм | 065765768, 3. Исаак | 8976897987, 4. Филипп | 232342, GetContacts должен получить все 4 записи. – Jack
Это не имеет никакого смысла. Класс C не может предоставить все записи, 'IEnumerable' возможно, но вы не можете, чтобы один экземпляр представлял несколько экземпляров. –