gpt4 book ai didi

c# - Entity Framework Core 映射相关实体,仅当它不为空时

转载 作者:行者123 更新时间:2023-12-04 02:42:25 24 4
gpt4 key购买 nike

我有这两个类,进程和任务。任务是一个相关的实体,是可选的。我希望仅当这不为 null 时才能够在 select 上映射 Task 属性。我该如何处理?

public class Process
{
public int Id {get;set;}
public string Description {get;set;}
public int? TaskId {get;set;}
public Task Task {get;set;}
}

public class Task
{
public int Id {get;set;}
public string Description {get;set;}
}

在我的 Razor 页面上

public PageViewModel Process {get;set;}
[BindProperty(SupportsGet = true)]
public int Id { get; set;}
public void OnGet()
{
Process = _context.Processes
.Select(p => new PageViewModel
{
Id = p.Id,
Description = p.Description,
HasTask = p.TaskId.HasValue,
TaskDescription = p.Task.Description // How to handle if task is null here?
})
.FirstOrDefault(p => p.Id == Id)

}

public class PageViewModel
{
public int Id{get;set;}
public string Description {get;set;}
public bool HasTask {get;set;}
public string TaskDescription {get;set;}
}

最佳答案

p.Task == null ? "": p.Task.Description

关于c# - Entity Framework Core 映射相关实体,仅当它不为空时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58726561/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com