如何解决在 EF Core Code First 方法中正确映射枚举
我有一个图书馆应用程序,我正在尝试采用代码优先的方法,该方法具有这样的 Book 实体:
public class Book
{
public int Id { get; set; }
public string Code { get; set; }
public string Title { get; set; }
public string Publisher { get; set; }
public Category? Category { get; set; }
}
public enum Category : byte
{
[Description("LA_Category_Thriller")]
Thriller,[Description("LA_Category_Adventure")]
Adventure,[Description("LA_Category_Comic")]
Comic,[Description("LA_Category_Mistery")]
Mistery
}
现在我正在编写一个 BookConfiguration 类,但我不确定我做的是否正确;我不确定什么是最好的解决方案,转换为字符串,或者像 sql 枚举一样将它输入到数据库中(不确定在 EF Core 中是否可能):
public class BookConfiguration : IEntityTypeConfiguration<Book>
{
public void Configure(EntityTypeBuilder<Book> builder)
{
builder.ToTable(nameof(Book),"lib");
builder.HasKey(b => b.Id);
builder.Property(b => b.Id).ValueGeneratedOnAdd();
builder.Property(b => b.Category)
.HasMaxLength(32)
.HasConversion<string>();
}
}
就我得到的东西而言,这会在更新条目时将其转换为字符串,但是当我从 db 检索值时,这会不会使事情变得更难?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。