如何访问默认情况下使用项目创建的ASPNetUsers表的字段?

时间:2015-07-04 20:33:33

标签: c# asp.net entity-framework

昨天我问了一个非常相似的问题,但没有做好清楚地构建它(因此没有答案:))。所以,我要再拍一次。

我正在使用C#.NET Web表单(从头开始)。当我创建一个新项目时,它默认具有注册和登录功能,并且数据也存储在名为AspNetUsers的表中的默认DB中。此表有一些标准字段,如用户ID,用户名等。它没有名字和姓氏。 Fist,我该如何在此表中添加字段并使其可访问?

接下来,我想将这些数据与我正在创建的其他表集成。例如,我有一个表(让我们称之为“actions”表),当用户执行操作时,该表记录一个条目。我已经想出了每次用户执行此操作时如何访问用户名。但现在,我希望以后能够将此操作显示给另一组用户以及用户名,电子邮件,电话号码以及执行该操作的用户的其他详细信息。每次用户在“操作”表中执行操作时,我都可以存储用户名。但现在我需要加入ASPNetUsers表并获取该用户的其他详细信息。我该怎么做?

如果我想为我在Models文件夹中创建的另一种数据类型执行此操作,我可以以面向对象的方式访问这些字段。但ASPNetUsers表似乎没有与之关联的类。

编辑: 我没有尝试上面要求的代码,因为我不知道从哪里开始。但是,我确实试图以另一种方式解决问题。我估计我会创建自己的用户类,并在每次注册时填充它。所以,我创建了这样的类 -

public class User
 {
    [Key]
    public int UserID { get; set; }

    [Required, StringLength(100), Display(Name = "Id")]
    public string Id { get; set; }

    [Display(Name = "Name")]
    public string Name { get; set; }

    public string Email { get; set; }

}

然后我去了Register.aspx.cs类并将以下代码添加到CreateUser_Click方法中,希望将新用户添加到我创建的这个新表中.-

 User SuccessfullyRegisteredUser = new User
            {
                UserID = 10,
                Id = "asd-3021-104",
                Name = "new user",
                Email = Email.Text
            };
            DataContext context = new DataContext();
            context.Users.Add(SuccessfullyRegisteredUser);

但是,当我注册为虚拟用户并尝试查看Users表时,我创建的这条记录不存在。

0 个答案:

没有答案