Как игнорировать свойство Navigation (не используя Fluent API) - PullRequest
0 голосов
/ 09 апреля 2019

Как можно игнорировать свойство навигации без использования FluentAPI в onModelCreating для приведенного ниже примера:

Table Layout

Мои классы ниже. Когда я использую свой контакт для получения результатов для 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();

Это результаты. Я не хочу показывать отношение для assetTypeWorkTask в разделе "workTask". Я понимаю, почему это, возможно, показывает это, так как это является частью отношений. Однако это не тот результат, который мне нужен.

[
{
    "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
    }
}
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...