gpt4 book ai didi

entity-framework - ef 5 codefirst 枚举集合未在数据库中生成

转载 作者:行者123 更新时间:2023-12-03 07:32:36 25 4
gpt4 key购买 nike

我正在使用 EF5 和 .NET 4.5。我有一个特定的类在数据库中生成不正确。虽然我的网站有点复杂,但我会简化;

namespace Store.Enities
{
public enum Role
{ Manager, Clerk }

public class User
{
public int Id {get; set;}
public ICollection<Role> Roles {get; set;}
}

public class StoreContext : DbContext
{
public DbSet<User> Users {get; set;}

public StoreContext()
{
Database.SetIntializer(new DropCreateDatabaseIfModelChanges<StoreContext>());
}
}
}

正如您所看到的,一名用户可以拥有多个角色。由于某种原因,我无法将角色存储在数据库中。

最佳答案

枚举仍然是原始类型,特别是整数。就像你的User一样类不能有 ICollection<int>映射到数据库中的某些内容,它不能具有枚举的集合。

您应该定义 Role类可能如下所示:

public class Role
{
public int Id {get; set;}
public Roles Role {get; set;}
}

并将枚举的名称更改为 Roles (或除 Role 之外的任何内容)。

关于entity-framework - ef 5 codefirst 枚举集合未在数据库中生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15045303/

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