2

我正在将我的 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);
    }
}
}`

谢谢!

4

0 回答 0