我在使用流畅的API的实体框架Core中面临问题。
我想动态配置多对多关系,因此我使用了以下代码:
var relationEntityBuilder = entityTypeBuilder1.HasMany(lambdaManyFirst)
.WithMany(lambdaManySecond).UsingEntity(j => j.ToTable(attribute.RelationTableName))
它几乎可以工作,但是我仍然对ForeignKey有问题。
默认情况下,EF尝试使用名为“ ObJect1sId”和“ Object2sId”的列进行设置,但在我的案例中,外键列名为“ IdObject1”和“ IdObject2”。
如何更改外文关键字列名称?
谢谢。
您需要使用其他一些UsingEntity
重载,这些重载允许您配置左右导航。
例如
entityTypeBuilder1
.HasMany(lambdaManyFirst)
.WithMany(lambdaManySecond)
.UsingEntity<Dictionary<string, object>>(joinEntityName,
j => j.HasOne<TEntity2>().WithMany().HasForeignKey(fkName2),
j => j.HasOne<TEntity1>().WithMany().HasForeignKey(fkName1),
j => j.ToTable(joinTableName)
);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句