Requires a primary key to be defined. If you intended to use a keyless entity type, call ‘HasNoKey‘

.net core 中使用code-first 时,
在entity 中使用类做为字段,在执行新的迁移, 使用命令 Add-Migration 时, 会发生以下报错

Requires a primary key to be defined. If you intended to use a keyless entity type, call ‘HasNoKey’

这时需要在MigrationsDbContext 中添加

// 为类添加HasNoKey的属性
builder.Entity(bd =>
{
      bd.HasNoKey();
      bd.ToTable("TestClass".ToLower(), t => t.ExcludeFromMigrations());
});

这样在执行执行迁移;

[NotMapped]
当不想把这个类迁移到数据库中时, 可以添加属性[NotMapped];

你可能感兴趣的:(Database,postgresql,EF;code,first)