gpt4 book ai didi

c# - 需要从 IEnumerable 获取 id

转载 作者:搜寻专家 更新时间:2023-10-30 21:56:44 25 4
gpt4 key购买 nike

所以我想创建一个小网站来帮助我家族的生意。

我有两个模型,Jobs 和 Days。

public class Job
{
public int JobId { get; set; }
public int LotNum { get; set; }
public string Street { get; set; }
public string Suburb { get; set; }
public double PerHour { get; set; }
public string Description { get; set; }

}

public class Day
{
public int JobId { get; set; }
public int DayId { get; set; }
public DateTime Date { get; set; }
public double Hours { get; set; }
public string Details { get; set; }
public int Invoice { get; set; }
}

我需要开具发票,发票上会有编号。这些天有发票编号,所以我无法选择需要的天数。它看起来像这样。

    Date LotNum Street      Suburb     Hours
1/1/01 1 John Street Hurstville x hours
1/1/01 1 John Street Hurstville x hours
1/1/01 1 John Street Hurstville x hours
1/1/01 1 John Street Hurstville x hours

我可以使用以下方法获取带有特定发票编号的天数:

vm.Days = _dayRepo.GetAll().Where(d => d.Invoice == id);

这样我就知道了那天的日期和时间,但现在我需要获取工作信息。 Day 和 Job 都有 JobId,所以我可以链接它们,但我不知道如何链接。

这是我目前所拥有的:

public IActionResult Invoice(int id)
{
CreateInvoiceViewModel vm = new CreateInvoiceViewModel();
vm.Days = _dayRepo.GetAll().Where(d => d.Invoice == id);
//vm.JobId =
vm.Jobs = _jobRepo.GetAll();

return View(vm);
}

我的观点是这样的:

    @model CreateInvoiceViewModel


<table>

@foreach (var item in Model.)

{
<tr>
<td>@item.Date.Date.ToString("dd/MM/yy")</td>
<td>@item.Hours</td>


</tr>
}

</table>

我不知道要为 foreach 添加什么。

提前致谢!

最佳答案

您只需要一个连接查询。像这样定义您的 ViewModel:

public class InvoiceViewModel
{
public DateTime Date { get; set; }

public int LotNum { get; set; }

public string Street { get; set; }

public string Suburb { get; set; }

public double Hours { get; set; }
}

创建连接查询并将其转换为 ViewModel:

public IActionResult Invoice(int id)
{
var query = from d in _dayRepo.GetAll()
join job in _jobRepo.GetAll() on d.JobId equals job.JobId
select new { Date=d.Date, LotNum= job.job , Street =job.Street , Suburb =job.Suburb , Hours =d.Hours };

IEnumerable<InvoiceViewModel> viewModel = query.Select(c => new InvoiceViewModel()
{
Date=query.Date,
LotNum=query.LotNum,
Street=query.Street,
Suburb=query.Suburb,
Hours=query.Hours
});

return View(viewModel);
}

关于c# - 需要从 IEnumerable<item> 获取 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40995109/

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