[英]Entity Framework Core map related entity only if it's not null
I have these 2 classes, Process and Task.我有这两个类,进程和任务。 Task is a related entity and is optional.任务是一个相关实体,是可选的。 I want to be able to map Task properties on select only if this is not null.我希望能够在 select 上的 map 任务属性,前提是这不是 null。 How do i handle it?我该如何处理?
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;}
}
on my razor page在我的 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
TaskDescription = p.Task?.Description
The code above will set TaskDescription to null if Task is null.如果 Task 是 null,上面的代码会将 TaskDescription 设置为 null。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.