在数据库的列中显示枚举值(实体框架 6)

问题描述 投票:0回答:0

有没有办法显示数据库中的值? EF(代码优先)自动将列类型转换为整数,当尝试将列类型更改为“nvarchar”时,它会抛出一个异常,说明类型不兼容...

有没有一种方法可以转换为枚举值,而无需将属性设为字符串并更改 get/set?

这是我的课程和枚举:

public class Dog
    {
        public int Id { get; set; }
        public string Name { get; set; }

        [Column(TypeName = "nvarchar")]
        public Breed breed { get; set; }

        
    }

    public enum Breed
    {
        Mix = 0,
        Breed1 = 1,
        Breed2 = 2,


    }

这里是类型更改代码:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder
        .Entity<Dog>()
        .Property(e => e.breed).HasColumnType("nvarchar");
        }

我试图更改列类型,我希望 ef 会将值保存为字符串而不是数字。

c# entity-framework entity-framework-6
© www.soinside.com 2019 - 2024. All rights reserved.