【问题标题】:Looking up a user by id (guid) from within a view in MVC5从 MVC5 的视图中通过 id (guid) 查找用户
【发布时间】:2014-05-14 21:00:38
【问题描述】:

我正在为我们的网站构建一个基于邀请的注册系统。本质上,用户进入一个页面,输入一封电子邮件,从下拉列表中选择一个名称并点击提交。然后将链接通过电子邮件发送到指定的电子邮件以供用户注册。

我在创建整个子系统时遇到了一些问题。基本上我的数据库表有 5 列 validation_id - uniqueidentifier(guid),all_id - 我的员工表的外键,generated_by - 链接到 AspNetUsers 并获取用户 ID 的唯一标识符,generated_on - 日期, email - 新用户的邮箱。

基本上,邀请表与另外两个表有外键关系,使用all_idgenerated_by。我需要能够从两个表中检索信息以便以后注册。

我的注册邀请模型如下:

public partial class registration_invitations
{
    [Key]
    public Guid validation_id { get; set; }

    public int all_id { get; set; }

    [StringLength(128)]
    public string generated_by { get; set; }

    [UIHint("Date")]
    [Column(TypeName = "date")]
    public DateTime? generated_on { get; set; }

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

创建视图完全按照我的需要保存所有内容,但我不知道如何获取通过他们的 id 生成邀请的用户,而且我似乎无法从all_employees 表中获取信息。

有什么想法吗?

【问题讨论】:

  • 你能把你的表格链接的截图贴出来
  • 表格链接是什么意思?你是说我的架构?
  • @Peo 这是我的相关表格的截图 - imgur.com/dOAN26O.jpg

标签: c# sql .net asp.net-mvc entity-framework


【解决方案1】:

让我看看我是否理解正确。

generated_by 属性应指向对用户表的外键引用,因此 EF 将生成正确的 public User generated_by 属性并让您访问所需的信息。

这是你想要达到的目标吗?

编辑: 您只需在 sql server 中使用外键引用创建表,如下所示:

all_id INT FOREIGN KEY REFERENCES all_employees(all_id)
generated_by INT FOREIGN KEY REFERENCES AspNetUsers(id)

然后 Entity Framework 完成所有工作,创建您需要的引用属性

【讨论】:

  • 其实我已经做了,EF没有正确生成。
  • 嗯,这很奇怪。您是否正确创建了外键引用?
  • 是的,但我假设原因是我后来添加了registration_invites,所以我需要手动创建外键引用。我刚刚尝试过,它似乎正在工作,我只需将 ICollection 对象添加到我的 ApplicationUsers 模型,并将 ApplicationUsers 对象添加到我的 registration_invitations 对象。在那之后,我似乎可以提取所需的信息!
  • 如果您稍后添加了一些更改,您只需要转到您的模型图,右键单击 -> 从数据库更新模型,EF 将使用您刚刚所做的更改更新模型
  • 即使是在数据库设置中的代码中?模型图在哪里?
猜你喜欢
  • 2020-06-25
  • 2019-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-15
  • 1970-01-01
  • 1970-01-01
  • 2014-02-21
相关资源
最近更新 更多