2

Postgresql 9.5 を Postgresql 10 に移行しています。Visual Studio .net コンポーネント (npgsql) 統合もあり、.NET で Entity Framework に接続して使用するのに役立ちます。

Postgresql 10 のパーティション化されたテーブルに外部キーまたは主キーがないことに気付きました。

私の Visual Studio では複数の外部キーと 1 つの主キーで宣言されたテーブルがあり、すべてのコードを変更する必要があるため、これは問題です。解決策や回避策はありますか?

私の懸念は、すべてのテーブルで主キーを期待する 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