У меня есть модель Docs со столбцом guid author_id, который должен ссылаться на MembershipUser.
Я использую стандартный MembershipProvider (я только изменил имя БД), и, конечно, у меня нет модели для MembershipUsers.
Я могу легко определить некоторые методы в классе Docs, чтобы получить MembershipUser для Doc и все Docs для MembershipUser, но некоторые вещи сложны (перечисление пользователей показывает, сколько документов имеет каждый пользователь); Более того, я чувствую, что использую MVC странным образом: мне кажется, было бы проще, если бы у меня была модель MembershipUsers ...
Как я могу реализовать эти отношения? Должен ли я реализовать модель для MembershipUsers?
спасибо
обновление: Я понимаю, что совсем не ясно.
Скажем, я хочу перечислить всех своих пользователей и их документы.
Один из способов сделать это:
ViewModel model = new ViewModel()
{
Users = from MembershipUser user in Membership.GetAllUsers(page, pagesize, out totalusers)
select new UserWithDocs
{
User = user,
Docs = context.Docs.Where(c => c.author_id == (Guid) user.ProviderUserKey)
},
UsersCount = totalusers
};
Это работает, но генерирует один отдельный запрос для каждого пользователя.
Я мог бы получить массив руководств пользователя, а затем запросить документы where author_id IN list_of_guids
, но тогда я должен вручную связать каждый документ с его автором.
Какое решение лучше?