Witam.
Piszę aplikację WPF. Potrzebuję małej porady.
Podam na przykładzie kontrolki z widokiem na listę klientów.
Mam plik widoku z DataGrid. Tam mam zbindowane do właściwości ObservableCollection<ClientsForList>.
I teraz tak, pobieram tą listę używając wstrzykniętej z unity implementacji IClientService, gdzie wywołuję metodę GetAllClients.
W tej metodzie mam pobieranie z bazy listy obiektów typu Client. Klasa Client jest to encja dla EntityFrameworka. Może przedstawię kod tej metody GetAllClients:
public List<ClientForList> GetAllClientsForList()
{
var clients = db.Clients.ToList();
var config = new MapperConfiguration(cfg =>
{
cfg.CreateMap<Client, ClientForList>();
});
IMapper mapper = config.CreateMapper();
return mapper.Map<List<Client>, List<ClientForList>>(clients);
}
Czy to jest w miarę ok? Teoretycznie mógłbym wystawić do ViewModelu i dalej do widoku obiekty Client, ale z tego, co wiem to tak się nie robi. Pytanie czy ja to tutaj dobrze zaimplementowałem. Chodzi mi głównie o to, że mapowanie obiektów jest w serwisie. I dodam, że klasa ClientForList ma sporo mniej pól niż klient, bo nie chciałem, aby mi w tabeli w widoku wszystko wyświetlało.
grzesiek51114AutoMapper to zło
noo, ja też nie lubię. To z linka jest świetne!