【发布时间】:2022-01-19 19:07:28
【问题描述】:
从 EF Core 5 开始,无需显式定义中间表即可轻松生成多对多表。但是,我希望能够获得两个实体之间自动生成的中间表的名称。例如,假设我有两个实体:
public class Foo
{
public int FooId { get; set; }
public ICollection<Bar> Bars { get; set; }
}
public class Bar
{
public int BarId { get; set; }
public ICollection<Foo> Foos { get; set; }
}
我创建了一个包含这两个实体的 DbContext,创建了一个迁移,然后将其应用到我的数据库中,我希望生成三个表:
FoosBarsFooBars
有没有办法,给定Foo或Bar(或Foo.Bars或Bars.Foos),找到自动生成的表名FooBars的名称?
【问题讨论】:
-
你试过检查 IModel 吗?
context.Model -
是的,我今天下午一直在探索 IModel,但还没有找到我要找的东西。
标签: c# entity-framework-core ef-core-6.0