我正在将我的 Postgresql 9.5 迁移到 Postgresql 10 我还有一个 Visual Studio .net 组件 (npgsql) 集成,它可以帮助我连接和使用 .NET 的实体框架。
我也被迫在两个大(巨大)表上使用分区我注意到 Postgresql 10 上的分区表上没有外键或主键。
这是一个问题,因为我的 Visual Studio 使用多个外键和一个主键声明了表,我必须更改所有代码,是否有任何可能的解决方案或解决方法?
我担心的是我在 c# 中的代码,它需要所有表上的主键,没有主键或外键我不确定代码是否可以工作。实际上,我手动创建了我的类。EF需要主键,还是我的错误信念?另外,如果声明数据库中不存在的外键,EF 会出错?
这就是我的代码的样子:
`
public class TableConfiguration : EntityTypeConfiguration
{
public TableConfiguration(string schema) :
base(schema, "id_d")
{
HasRequired(x => x.f)
.WithMany(x => x.Tables)
.HasForeignKey(x => x.id_f)
.WillCascadeOnDelete(false);
HasRequired(x => x.er)
.WithMany(x => x.Tables)
.HasForeignKey(x => x.res)
.WillCascadeOnDelete(false);
HasMany(x => x.dc)
.WithRequired(x => x.Table)
.HasForeignKey(x => x.id_d);
HasMany(s => s.n)
.WithRequired(s => s.Table)
.HasForeignKey(s => s.id_d);
}
}
}`
谢谢!