EF 不会创建我的表
本文关键字:我的 创建 EF | 更新日期: 2023-09-27 17:55:39
我有三个类,使用 TPH(table per hiracy):
abstract class Cat { int Id; string Name; }
class ItemCat: Cat { }
class PhotoCat: Cat{ }
和
class Db:DbContext
{
Db()
{
Database.SetInitializer(new MigrateDatabaseToLatestVersion<Db,Migrations.Configuration>());
}
DbSet<ItemCat> ItemCats;
DbSet<PhotoCat> PhotoCats;
}
并且还有 Seed() 方法来播种 ItemCats
更新数据库运行良好并播种表。
但是EF没有创建我的ItemCat!并让它创建Cats!并播种它。 我在 DbContext 中没有猫。
我还将[Table("ItemCats")]添加到ItemCat类中,出现了ItemCats表,但其中只有id列!!
我认为这是因为 ItemCat 和 PhotoCat 类是空的,只是从 Cat 类继承而来。这对我来说很奇怪。
将配置更改为"每个类型表"应提供所需的表。有关每种类型的表如何生成表的更多详细信息,请参阅此处。