升级到EFCore7.0,出现Table name must be specified to configure a table-specific property mapping.
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.RemoveMigration.<>c__DisplayClass0_0.<.ctor>b__0()
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.<>c__DisplayClass3_0`1.<Execute>b__0()
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)
Table name must be specified to configure a table-specific property mapping.
没有找到答案。最后在这发现了可能存在的问题:
[Table("FeaturedPosts")]
public class FeaturedPost : Post
{
public int ReferencePostId { get; set; }
public Post ReferencePost { get; set; } = null!;
}
[Table("Posts")]
public class Post
{
public int Id { get; set; }
public string? Title { get; set; }
public string? Content { get; set; }
}
Table是什么意思,看提示:
大概意思是,指定类映射到的数据库表。按照示例,把父类指定。
通过了。
不过我很奇怪为什么EF6没有这个问题?
230129补记:记得手动删除migration后,再add-migration init后再运行!默认情况下是update-database是不过的。