Сопоставление сущностей Linq-Sql с объектами пользовательского домена - PullRequest
2 голосов
/ 19 мая 2009

Как можно сопоставить сгенерированные объекты Linq-Sql (DTO) с сущностями моего домена? Проблема в том, что я не могу сопоставить ассоциации, потому что они не одного типа. DTO использует EntitySet и EntityRef, а мой домен использует IList и T.

Я посмотрел на какое-то сообщение в блоге: Ian Cooper * architecting-linq-to-sql-Applications-part-5 и digital_ruminations linq-to-sql-poco-support но они не соответствуют моим потребностям. Мне нравится какой-то универсальный класс конвертера для обработки отображения.

Теперь я делаю что-то вроде этого:

public IList<Entities.Customer> GetAll()
    {
        try
        {
            return _custConverter.Convert(base.GetEntities());
        }

Но метод Convert преобразует только основные свойства, а не ассоциации. Любые идеи, как я могу сделать это наилучшим образом?

1 Ответ

2 голосов
/ 19 мая 2009

Возможно, вы захотите взглянуть на AutoMapper . Он отлично справляется с автоматическим сопоставлением свойств из коробки и поддерживает обширную настройку, такую ​​как пользовательские конвертеры, которые, я думаю, могут быть использованы для создания списков из ваших EntitySets.


Обновление:

...