在表级别我将aspnet_User.UserID设置为其他表中的UserID的外键(如Posts.UserID,因此每个帖子都有一个所有者)。这是要走的路吗?
当我创建LINQ to SQL模型时,我应该包含aspnet_User表吗?
当我创建帖子(Posts表中的记录,Post对象)时,如何设置与登录用户的关系(控制器中的用户对象)?
答案 0 :(得分: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
};
答案 1 :(得分:0)
在您的数据库架构中,您应该UserID
表中的Post
是{{1>}的{em>外键,aspnet_user table
上的UserID
1}}字段。这样,您就可以确保数据干净。我甚至会添加级联删除&更新关于该关系。
然后,请参阅previous question you asked中有关如何获取用户数据的说明。
(Thomas Stock简要总结了一下,上面,但是:))