まったく同じプロパティを持つ 2 つのエンティティがあります。
public class Oil
{
public Guid Id { get; set; }
public string Title { get; set; }
public int Price { get; set; }
public int Ammount { get; set; }
}
public class Filter
{
public Guid Id { get; set; }
public string Title { get; set; }
public int Price { get; set; }
public int Ammount { get; set; }
}
質問:
1)どうにかしてそれらを1つのテーブルに保存できますか? もしそうなら、どのように?
2) または、継承を実装する必要がありますか? では、どのタイプでしょうか?
編集:
私の場合、これら 2 つのエンティティはまったく同じであり、将来的に異なるプロパティを持つことはありません。
Table-per-Hierarchy アプローチを実装しましたが、別の問題があります
(オイルとフィルターのコレクションを持つ別のタイプがあります)。
public class Warehouse
{
public Guid Id { get; set; }
public ICollection<Filter> Filters { get; set; }
public ICollection<Oil> Oils { get; set; }
}
そのため、データベースを作成するときに、その中にフィールドを取得Warehouse_Id
します。Warehouse_Id1
Oil クラスと Filter クラスにプロパティを持たせたくないのですがWarehouse
、db テーブルで Warehouse ID のフィールドを 1 つだけ取得するにはどうすればよいですか?
OilFilterBase クラスのプロパティとして WarehouseId を含めると、データベース テーブルに 3 つの Warehouse_id が取得されます。
ps私もDbSet<Oil>
ありDbSet<Filter>
、私の中にContext
あり、持っていませんDbSet<OilFilterBase>
。