【发布时间】:2020-03-02 17:24:29
【问题描述】:
我有这 2 个类,Process 和 Task。任务是一个相关实体,是可选的。我希望仅当它不为空时才能在 select 上映射任务属性。我该如何处理?
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;}
}
在我的剃须刀页面上
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;}
}
【问题讨论】:
标签: c# asp.net-core entity-framework-core razor-pages