gpt4 book ai didi

c# - 如何编辑在 IdentityDbContext 中创建的表

转载 作者:行者123 更新时间:2023-11-30 17:50:34 26 4
gpt4 key购买 nike

找了将近2天没找到答案,特来这里问一下。

我刚开始使用 ASP.NET MVC 5。我已经设法扩展了默认的 ApplicationUser : IdentityUser 类,所以现在它存储了关于用户的附加信息。其中一项扩展功能是存储用户所属的组织。一个组织可以有多个用户。在应用程序中,我希望能够将用户添加到任何组织。我还希望能够直接管理组织。这是我的模型:

public class ApplicationUser : IdentityUser
{
[Required]
[MaxLength(30)]
public string FirstName { get; set; }

[Required]
[MaxLength(30)]
public string LastName { get; set; }

[Required]
[MaxLength(40)]
public string Email { get; set; }

[Required]
public virtual Organisation Organisation { get; set; }
}

public class Organisation
{
public int id { get; set; }

[Required]
[MaxLength(30)]
public string Name { get; set; }

[Required]
public DateTime RegistrationDate { get; set; }

[Required]
[MaxLength(30)]
public string DWId { get; set; }
}

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
//...
}

迁移后,EF 为组织创建了一个单独的表。到目前为止,还不错。

现在,我希望能够从组织表中查看和添加/删除/删除组织。为此,我创建了一个 Controller 。但是,在 Controller 内部,我无法引用 Organizations 表,因此我无法将其作为模型传递给 View 。这是我的想法,但未能做到:

public ActionResult Organisation()
{
ApplicationDbContext _db = new ApplicationDbContext();

var model = _db.Organisations.ToList(); //this does not work

return View(model);
}

当我尝试构建它时,它说

'TrendfinderMVC.Models.ApplicationDbContext' does not contain a definition for 'Organisations' and no extension method 'Organisations' accepting a first argument of type 'TrendfinderMVC.Models.ApplicationDbContext' could be found (are you missing a using directive or an assembly reference?)

事实上,当我开始输入“_db.”时,IntelliSense 甚至没有在列表中显示与组织相关的任何内容。我如何获得当前所有组织的列表?任何见解将不胜感激。

最佳答案

确保您已在 ApplicationDbContext 类中声明了您的组织集

public class ApplicationDbContext : IdentityDbContext
{
public ApplicationDbContext()
: base("DefaultConnection"){}

public DbSet<Organisation> Organisations { get; set; }
...
}

关于c# - 如何编辑在 IdentityDbContext 中创建的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20649674/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com