使用Entity Framework 6数据库第一种方法(oracle db)我想将两个不同的实体映射到同一个表,用于存储文件。该表格包含以下列:
第一个实体(UPL_DOCUMENTS)不应该包含BLOB属性。相反,实体RAW_UPL_DOCUMENTS也应该具有blob。一种类型的每个实体应该与另一种类型的实体完全相关。
我这样做是因为我想通过一个安静的Web API公开这些数据,我想只在调用文件的特定端点时才返回BLOB。在其他情况下,因为文件实体将被列为其他实体的导航属性,所以我希望保持HTTP响应更轻。
出于这个原因,使用数据库第一种方法,我创建了实体UPL_DOCUMENTS并使用Designer删除了BLOB属性。然后我手动添加了一个新实体,其 Base Type 设置为UPL_DOCUMENTS,称为RAW_UPL_DOCUMENTS,并仅添加了blob属性。
Designer清楚地显示了两种类型之间的继承关系。
如果我尝试验证我的模型,则会收到以下错误:
EntityTypes Model.UPL_DOCUMENTS, Model.RAW_UPL_DOCUMENTS are being mapped
to the same rows in table UPL_DOCUMENTS. Mapping conditions can be used
to distinguish the rows that these types are mapped to.
将对象“映射到表UPL_DOCUMENTS中的相同行”正是我想要实现的,所以我无法理解如何防止此错误。
提前致谢