gpt4 book ai didi

c# - 左连接 linq to sql

转载 作者:行者123 更新时间:2023-11-28 23:52:43 25 4
gpt4 key购买 nike

我有这个问题:

public IEnumerable<TimesheetModel> GetTicketsInProgressByUserId(int id)
{
var query = (from workLogList in DataContext.tblWorkLogs
join tickets in DataContext.tblTickets on workLogList.TicketId equals tickets.TicketId
join project in DataContext.tblProjects on tickets.ProjectId equals project.ProjectId
join states in DataContext.tblWorkflowStates on tickets.Status equals states.StateId
where workLogList.AccountId == id
group workLogList by workLogList.WorkDate into data
select new TimesheetModel
{
TaskDate = data.Key,
TimesheetList = data.Select(x => new TimesheetListModel()
{
ProjectId = x.tblTicket.tblProject.ProjectId,
ProjectName = x.tblTicket.tblProject.Name,
TaskDate = x.WorkDate,
TimeWorked = x.TimeWorked,
Note = x.Note,
Task = TaskString(x.tblTicket.TicketId, x.tblTicket.Title, x.TaskTitle)
}
).ToList()
});
return query.ToList();
}

在这一行中我需要使用左连接,因为我还需要使用 worklogList.TicketId == null 获取数据

join tickets in DataContext.tblTickets on workLogList.TicketId equals tickets.TicketId

如何在这种情况下使用左连接?

最佳答案

如果您只是在模型中进行关联,那么请记住将基数设置为 0..1 - *。

那么你应该可以使用点语法而不是在 linq 语句中加入。

稍后添加:

以下是我希望您在建立这些关联后结束时使用的示例(当然未经测试):

(from workLogList in DataContext.tblWorkLogs
//join tickets in DataContext.tblTickets on workLogList.TicketId equals tickets.TicketId
//join project in DataContext.tblProjects on tickets.ProjectId equals project.ProjectId
//join states in DataContext.tblWorkflowStates on tickets.Status equals states.StateId
where workLogList.AccountId == id
group workLogList by workLogList.WorkDate into data
select new TimesheetModel
{
TaskDate = data.Key,
TimesheetList = data.Select(x => new TimesheetListModel()
{
ProjectId = x.tblTicket.tblProject.ProjectId,
ProjectName = x.tblTicket.tblProject.Name,
TaskDate = x.WorkDate,
TimeWorked = x.TimeWorked,
Note = x.Note,
Task = TaskString(x.tblTicket.TicketId, x.tblTicket.Title, x.TaskTitle)
}
).ToList()
});

关于c# - 左连接 linq to sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32372284/

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