c# - EF Core TPH,获取基本实体时忽略鉴别器
问题描述
只是要明确一点:我看到一个标题相似的问题,但从我读到的却是相反的。
所以我有baseEntity
并且subEntity
源自baseEntity
. (基本和子)实体都在 dbContext 中,并且 ef 核心自动创建默认鉴别器属性。添加它们中的任何一个都会正确地将鉴别器值设置为“baseEntity”或“subEntity”。
当我尝试使用它获取子实体列表时,DbContext.Set<SubEntity>().ToList()
它工作正常,只返回子实体(鉴别器等于“子实体”的记录)。问题是当我尝试使用DbContext.Set<BaseEntity>().ToList()
. 它忽略鉴别器,不仅返回鉴别器字段中带有“BaseEntity”的记录,还返回带有“SubEntity”鉴别器的记录。
如何仅返回具有“BaseEntity”鉴别器的实体?如果我有两个从基础实体派生的子实体并且只有它们在 dbContext 中,它可能会有所帮助,但是一个实体将完全是空的,因为一切都已经在基础实体中,所以我想避免这种解决方案。
解决方案
推荐阅读
- python - 表单上的 Scrapy 请求 - url 被截断
- xml - 如何在 sitemap.xml 文件中添加样式
- google-forms - 谷歌表格:问题旁边的答案而不是下面
- python - pip install 没有安装最新版本的 mediapipe
- rust - 使用 CLion 成功构建后,为什么没有在 target/debug 目录中生成 .rlib?
- reactjs - 错误:必须使用 import 加载 ES Module with three.js
- laravel - 不能用雄辩的方式从其他表中调用值
- java - Spring Security:所有端点返回状态 200 并且对约束没有响应作为 antMatchers
- python - 尝试不同方法后,Selenium webscrape 将不起作用
- r - 根据列中元素的位置对 R 中的数据框进行子集化