我有两个具有完全相同属性的实体:
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)我可以以某种方式将它们存储在一张桌子上吗?如果是这样,比怎么样?
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 字段?
如果我在 OilFilterBase 类中包含 WarehouseId 作为属性,我将在数据库表中获得 3 个warehouse_id。
ps我也有DbSet<Oil>
andDbSet<Filter>
在我的Context
和没有DbSet<OilFilterBase>
.