entity-framework - 如何忽略导航属性(不使用 Fluent API)
问题描述
对于以下示例,如何在不使用onModelCreating中的FluentAPI的情况下忽略导航属性:
我的课程如下。当我使用我的联系人获取PmActionDetail的结果时,WorkTask 表包含AssetTypeWorkTask结果,这不是所需的结果。
public partial class PmActionDetail
{
public int PmActionDetlId { get; set; }
public int? AssetTypeWorkTaskId { get; set; }
public virtual AssetTypeWorkTask AssetTypeWorkTask { get; set; }
}
public partial class AssetTypeWorkTask
{
public AssetTypeWorkTask()
{
AssetPmTypeWorkTask = new HashSet<AssetPmTypeWorkTask>();
}
public int Id { get; set; }
public int? AssetTypeId { get; set; }
public int WorkTaskId { get; set; }
public virtual AssetType AssetType { get; set; }
public virtual AssetWorkTask WorkTask { get; set; }
public virtual ICollection<AssetPmTypeWorkTask> AssetPmTypeWorkTask { get; set; }
public virtual ICollection<PmActionDetail> PmActionDetail { get; set; }
}
public partial class AssetType
{
public AssetType()
{
AssetTypeWorkTask = new HashSet<AssetTypeWorkTask>();
}
public int AssetTypeId { get; set; }
public string AssetTypeDescription { get; set; }
public virtual ICollection<AssetTypeWorkTask> AssetTypeWorkTask { get; set; }
}
public partial class AssetWorkTask
{
public int Id { get; set; }
public string Desc { get; set; }
public virtual ICollection<AssetTypeWorkTask> AssetTypeWorkTask { get; set; }
}
这是我正在运行的上下文查询:
return await _context.PmActionDetail.Include("AssetTypeWorkTask").Include("AssetTypeWorkTask.WorkTask")
.Include("AssetTypeWorkTask.AssetType").ToListAsync();
这些是结果。我不想在“workTask”下显示assetTypeWorkTask的关系。我理解为什么它可能会显示它,因为它是关系的一部分。但是,这不是我需要的结果。
[
{
"pmActionDetlId": 6008,
"pmActionHeadId": 1517,
"assetTypeWorkTaskId": 29,
"assetTypeWorkTask": {
"id": 29,
"assetTypeId": 31,
"workTaskId": 8,
"assetType": {
"assetTypeId": 31,
"assetTypeCategory": "ROOM",
"assetTypeWorkTask": []
},
"workTask": {
"id": 8,
"desc": "PM",
"active": 1,
"assetTypeWorkTask": [
{
"id": 20,
"assetTypeId": 20,
"workTaskId": 8,
"assetType": {
"assetTypeId": 20,
"assetTypeCategory": "CASEGOODS",
}
},
{
"id": 21,
"assetTypeId": 21,
"workTaskId": 8,
"assetType": {
"assetTypeId": 21,
"assetTypeCategory": "APPLIANCES",
},
}
]
},
"assetPmTypeWorkTask": [],
"pmActionDetail": null
}
}
]
解决方案
推荐阅读
- flutter - 尝试加载插页式广告时 Flutter 应用程序崩溃
- android - RxJava2 和带循环的 Room
- python - 为什么 df.value_counts() 的计数总和与 df 的总行数不同?
- c# - 使用反射类型 T 来创建表达式
> 对于具有属性的属性 - go - 如何使用 golang 执行 AWS S3 多部分复制
- java - 无法在片段中正确启动服务
- python - 如何断开用户与语音通道的连接
- python - 在 python 中的 SPARQLwrapper 中使用 Levenstein 距离
- kubernetes - 自动驾驶模式下 GKE 上的 Istio
- javascript - 将 Base64 格式的照片作为 BLOB 添加到 FormData