我已经开始学习 MVC3 开发并且遇到了一些绊脚石。在我的项目中,我将默认的 aspnet_ 成员表移到了单独的 SQL Server 2008 Express 数据库中。然后我添加了自己的表格来保存额外的配置文件数据。我现在想构建一个视图,其中将列出用户名(来自 aspnet_Users)、电子邮件地址(来自 aspnet_Membership)、名字和姓氏(来自自定义构建表 UserDetails,用户 ID 为 PK 和 FK 到 aspnet_Users)和用户角色( aspnet_UsersInRoles 和 aspnet_Roles)。
到目前为止,要从我的数据库中读取和写入,我已经为每个自定义构建的表构建了模型,其中包含一个 dbcontext 类:
public class UserDetail
{
[Key]
public Guid UserId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Address { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Zip { get; set; }
public string Phone { get; set; }
public DateTime DateUpdated { get; set; }
}
public class UserLinkToken
{
[Key]
public Guid UserId { get; set; }
public string LinkToken { get; set; }
public DateTime DateUpdated { get; set; }
}
public class ProShotDB : DbContext
{
public DbSet<UserDetail> UserDetails { get; set; }
public DbSet<UserLinkToken> UserLinkTokens { get; set; }
}
我不得不为我的应用程序命名我的表“UserDetails”和“UserLinkTokens”来编写和更新我的数据库,当模型和 dbcontext 的名称与我的数据库和表名不匹配时,应用程序最终会创建另一个数据库表并在那里写入数据。
据我所知,发送一个对象以查看aspnet_表中的属性和我的自定义表中的属性,我将想要构建一个ModelView。在阅读了大量模型视图示例后,我仍然不清楚它应该如何查找我的应用程序。
有人可以给我一个模型视图的例子,我可以用它来显示数据行列表并更新模型视图中给定用户 ID 引用的所有相应表列吗?
例如,假设我只想查看所有 FirstNames(UserDetails 表)及其相应的电子邮件(aspnet_Membership)。
我的最终目标是一个视图,它将显示具有分配角色的用户。列出的每个用户都有一个链接,该链接将指向一个控制器,如果他们当前不属于该角色,则该控制器会将他们分配为管理员,如果他们当前是管理员,则删除管理员角色。
抱歉,如果此类问题之前已在其他问题中回答过。我读过不少,觉得他们应该回答了我的问题,但似乎没有一个完全匹配。我的困惑很可能源于没有完全理解我的应用程序是如何连接到我的数据库的。我有点理解我的模型代表表的一行数据,dbcontext 采用一组这些数据行模型并将其连接到数据库中的表 (dbset<(datarow/model object)> (table of datarows /一组模型对象))。由于我没有看到 aspnet_ 表/模型对象的 dbcontext 类,因此我对如何检索、更新或写入这些表中的数据没有很好的概念。
感谢您帮助消除我对它如何工作的无知或给我一个如何完成我需要的简单示例。