2009-05-29 4 views
1

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

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

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

ответ

1

Я не включаю таблицу 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

Как добавить пользователя в сообщение? – Pablo

+0

обновил мой ответ –

0

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

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

(Thomas Stock подвело его кратко, выше, хотя :))

+0

Итак, объект User, который предоставляет Asp.NET MVC, бесполезен? – Pablo