好的,所以我在现有的aspnetdb.mdf数据库aspnet_Groups
中创建了一个新表,并添加了一个外键并将其与aspnet_Users
表GroupId
相关联。
所以用户表现在是:
ApplicationId
UserId
UserName
LoweredUserName
MobileAlias
IsAnonymous
LastActivityDate
GroupId //<--- Added by me, and related to aspnet_Groups table
群组表格只有GroupId
和GroupName
,所以实际上非常简单。
我想知道的是,如何从MVC应用程序中保存并获取此字段/表的数据。或者这必须以另一种方式完成吗?
答案 0 :(得分:0)
<强>被修改强>
我不建议干预aspnetdb的工作...... 如果您需要 - 创建自己的表并将其链接到aspnetdb。 更多的控制,更多的自定义,更少的内部MS身份验证引入的错误...
关于此Storing data in a Custom table within ASPNETDB.mdf vs. storing information about a user in a profile
的精彩帖子但是,再一次,你的问题没有正确的答案 - 只要它有效且具有良好的可用性和可读性 - 它很好。
如果你可以使用Roles作为你的组 - 这可以解决问题,但如果没有,我会定义额外的表,而不是插入到预构建的表中。这是我的意见。
修改2
有很多方法可以使用aspnetdb。您甚至可以将其嵌入到您自己的数据库中。像这样:Configuring ASP.NET 2.0 Application Services to use SQL Server 2000 or SQL Server 2005
回答您的特定问题:您可以通过身份验证API访问aspentdb:
string userName = Membership.GetUserNameByEmail(emailToCheck);
if (userName != null)
或覆盖membershipprovider,roleprovider和securityprovider,甚至直接访问,如此处所述
Membership, Role, and Security
希望这有帮助!