gpt4 book ai didi

c# - 错误 : Multiple object sets per type are not supported

转载 作者:太空宇宙 更新时间:2023-11-03 13:23:12 24 4
gpt4 key购买 nike

这里是错误的详细信息:

There was an error running the selected code generator: 'Unable to retrive metadata for 'Models.ApplicationUser'. Multiple object sets per type are not supported. The objects sets 'ApplicationUsers' and 'Users' can both contain instances of type 'Models.ApplicationUser'.

我在 MVC 项目中构建 View 时遇到了这个问题。如果我尝试搭建一个 Controller ,我会遇到同样的错误。我在 SO 上看到了一些这样的错误,但这些错误似乎不适用于我的情况。

这是我的 DbContext。它只是带有更多 DbSet 的默认 MVC 项目。在我的上下文中或项目中的任何地方,我没有任何用于 ApplicationUsers 或用户的 DbSet 或类似的东西。但为什么我会收到此错误?

public class ApplicationUser : IdentityUser
{
}

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

public virtual DbSet<ItemType> ItemTypes { get; set; }
public virtual DbSet<Item> Items { get; set; }
public virtual DbSet<Category> Categories { get; set; }
public virtual DbSet<List> Lists { get; set; }
public virtual DbSet<Level> Levels { get; set; }
}

这是我的列表类。我怀疑这个错误与它有关。但是为什么?

public class List
{
public int Id { get; set; }
[Required]
public string Name { get; set; }
public string UserId { get; set; }

public virtual ICollection<Item> Items { get; set; }
public virtual ApplicationUser User { get; set; }
}

这是所有实体中唯一引用 ApplicationUser 的地方。还有一个有点跑题的问题是“扩展 IdentityDbContext 而不是在应用程序中创建新的 DbContext 是不是一个错误的决定?”

环境:MVC5、EF6 Code First、VS2013 Ultimate、C#。

最佳答案

我一直面临同样的问题。

当我试图在我的代码中获取所有应用程序用户时,它会自动在 ApplicationDbContext 类中创建以下属性:

public System.Data.Entity.DbSet<Xxx.DataInputManagerWebUI.Models.ApplicationUser> ApplicationUsers { get; set; }

请删除这一行,一切都会好的。

关于c# - 错误 : Multiple object sets per type are not supported,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23409644/

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