У меня тут немного загадка, и я надеюсь, что некоторые из вас, гуру, помогут заполнить пробелы.
Ситуация, с которой я сейчас сталкиваюсь, касается моих "пользователей"."таблица и моя таблица" OpenID ".Мое приложение позволяет пользователю иметь несколько OpenID, поэтому я отслеживаю их в отдельной таблице.
Пользователи
ID
Имя пользователя
OpenID
ID
UserID
Заявитель идентификатора
У меня есть CRUD-репозиторий для каждой таблицы, а также у меня есть Служба, которая взаимодействует с Репозиторием(одна услуга на репо).
У меня вопрос к добавлению нового пользователя (поскольку обновление будет осуществляться по тому же принципу).Вот варианты, которые у меня в голове.
- Попросите UserService вставить нового пользователя, получить идентификатор пользователя и затем вставить новый OpenID, используя UserID
- Иметь UserServiceотправьте нового пользователя вместе с ClaimedIdentifier в UserRepository и попросите в хранилище вставить и пользователя, и OpenID (это не очень хорошо подходит для методологии CRUD)
- Создать представление для таблицы User итаблицу OpenID, создайте UsersOpenIDRepository и UsersOpenIDService, а затем вставьте в представление.
Будем весьма благодарны за любые другие мысли или предложения, помимо тех, о которых я могу думать.
Пожалуйстаобратите внимание, я не использую NHibernate, поэтому я могу смоделировать свой домен, как я считаю нужным.Я придерживаюсь Linq для SQL в этом проекте,