Как обрабатывать отношения с пользователями из других таблиц в ASP.Net MVC? - PullRequest
1 голос
/ 29 мая 2009

На уровне таблицы я устанавливаю aspnet_User.UserID как внешний ключ UserID в других таблицах (например, Posts.UserID, поэтому у каждого сообщения есть владелец). Это путь?

Когда я создаю модель LINQ to SQL, должен ли я включать таблицу aspnet_User?

Когда я создаю сообщение (запись в таблице сообщений, объект сообщения), как мне установить отношение к вошедшему в систему пользователю (объект пользователя в контроллере)?

Ответы [ 2 ]

1 голос
/ 29 мая 2009

Я не включаю таблицу aspnet_User в свой linq-to-sql, так как она мне действительно не нужна. Я использую встроенный способ доступа к данным о членстве.

Но для вашей таблицы сообщений вам может быть проще включить ее, чтобы вы могли легко отобразить имя пользователя, выполнив myPost.User.Name

редактирование:

    MembershipUser user = Membership.GetUser();
    Guid userGuid = (Guid)user.ProviderUserKey;

    Post post = new Post
            {
                 UserId =userGuid,
                 Message = message                                      
            };
0 голосов
/ 29 мая 2009

В вашей схеме базы данных вы обязательно должны иметь UserID в таблице Post, который будет внешним ключом к aspnet_user table в поле UserID. Таким образом, вы убедитесь, что ваши данные в чистоте. Я бы даже добавил каскадное удаление и обновление в этих отношениях.

Затем обратитесь к моим инструкциям в предыдущем вопросе, который вы задали , о том, как получить данные пользователя.

(Томас Сток кратко изложил это выше, хотя :))

...