Зависимости конвертера пользовательских типов AutoMapper - PullRequest
2 голосов
/ 08 января 2010

Я пытаюсь реализовать Automapper для сопоставления ViewModel с сущностью, где одно из свойств сущности также является сущностью.

Я хочу, чтобы мой конвертер использовал метод ISession.Load <> NHibernate для загрузки этого.

Итак, вопрос в том, каков наилучший способ внедрения ISession в мою реализацию ITypeConverter? Также следует иметь в виду, что ISession, который вводится, будет удален, поэтому мне нужно вводить новую ISession каждый раз, когда требуется сопоставление?

Ответы [ 2 ]

1 голос
/ 08 января 2010

Мы делаем это в наших системах, и у нас есть такие вещи, как конвертеры типа Guid-> Entity. Однако мы ограничиваем наши ISessions для HttpContext, поэтому новая ISession будет , а не для каждого ITypeConverter. Однако AutoMapper создает экземпляр нового экземпляра ITypeConverter каждый раз, когда это необходимо.

Но две сущности, объединяющиеся из разных экземпляров ISession, приведут к неприятностям. Просто убедитесь, что вы используете один экземпляр ISession для HttpContext, и все будет настроено.

0 голосов
/ 08 января 2010

Я не знаю о nHibernate, извините, и никто, похоже, не хочет отвечать на этот вопрос, так что ...

Способ, которым я бы решил это, - возможно, написать мой собственный связыватель пользовательских моделей.Затем он может быть ответственным за сопоставление моей ViewModel с моей сущностью.

У вас также будет доступ к объекту HttpRequest, чтобы вы могли получить все свои текстовые поля и сопоставить их с вашей сущностью.

Надеюсь, это поможет, хотя это не относится к вашему вопросу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...