【发布时间】:2021-08-15 15:29:49
【问题描述】:
我有班级/桌子:
public class Song
{
[Key]
public Guid Id { get; set; }
[Required]
public string Name { get; set; }
[ForeignKey("FK_SongTags")]
public List<Tag> Tags { get; set; }
}
类/表标签在哪里:
[Table("Tags")]
public class Tag
{
[Key]
public string Name { get; set; }
}
在我的上下文中,我称之为种子:
modelBuilder.Entity<Song>().HasData(new List<Song>
{
new Song { Id = Guid.NewGuid(), Name = "Some random song", Tags = new List<Tag> { "pop", "rock" } }
});
当我执行 dotnet ef 数据库更新时,我得到:
无法添加实体类型“歌曲”的种子实体,因为它有 导航“标签”集。要播种关系,请添加实体种子 到 'Tag' 并指定外键值 {'FK_SongTags'}。考虑 使用“DbContextOptionsBuilder.EnableSensitiveDataLogging”查看 涉及属性值。
如何解决此错误?
【问题讨论】:
标签: c# sqlite .net-core ef-code-first .net-5