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);
}
}
}`
わかりました!