C# 如何在LINQ SQL C中返回动态周数?
我有一个recordweek和year,它们在数据库记录中有数据,希望在控制器上的方法中使用LINQ语句进行查询。如何为这些记录创建动态查询?。recordyear和week返回的是随机值,与数据库表中的记录不在接收器中。如何动态地实现这一点?我是否创建了一个参数来获取动态值C# 如何在LINQ SQL C中返回动态周数?,c#,sql-server,asp.net-mvc,linq,C#,Sql Server,Asp.net Mvc,Linq,我有一个recordweek和year,它们在数据库记录中有数据,希望在控制器上的方法中使用LINQ语句进行查询。如何为这些记录创建动态查询?。recordyear和week返回的是随机值,与数据库表中的记录不在接收器中。如何动态地实现这一点?我是否创建了一个参数来获取动态值 [HttpGet] public IList<ExtractionViewModel> GetExtractionViewModels() {
[HttpGet]
public IList<ExtractionViewModel> GetExtractionViewModels()
{
ProductionManagementEntities db = new ProductionManagementEntities();
var scheduleList = (from p in db.ProductionDays
from m in db.Models
from mx in db.Models
from mb in db.Models
from ml in db.Models
join w in db.Weeks on p.WeekId equals w.WeekId
orderby w.Year ascending
orderby m.Name ascending
where (m.InActive == true)
where (mx.InActive == false)
where (mb.InActive == false)
where (ml.InActive == false)
// how to get a year back in linq and week?
select new ExtractionViewModel
{
Year = w.Year,
Week = w.WeekNum,
Day = p.ProductionDate,
VW250 = m.Name,
VW270 = mx.Name,
VW2502PA = mb.Name,
VW270PA = ml.Name
}).ToList();
return scheduleList;
}
// Model
public class ExtractionViewModel
{
public string Year { get; set; } // how to get this back to linq stament?
public int Week { get; set; } // How to get this back on linq statement?
public DateTime Day { get; set; }
public string VW250 { get; set; }
public string VW270 { get; set; }
public string VW2502PA { get; set; }
public string VW270PA { get; set; }
}
// SQL Query
SELECT TOP (1000) [ModelId]
,[Name]
,[Code]
,[CreatedDate]
,[CreatedBy]
,[ModifiedDate]
,[ModifiedBy]
,[InActive]
FROM [ProductionManagement].[Schedule].[Model]
SELECT TOP (1000) [WeekId]
,[WeekNum]
,[Year]
,[CreatedDate]
,[CreatedBy]
,[ModifiedDate]
,[ModifiedBy]
,[InActive]
FROM [ProductionManagement].[Schedule].[Week]
顺便说一句,您需要在db上下文中使用。例如:
using var db = new ProductionManagementEntities();
我认为您要查找的查询如下所示。
您还没有向我们展示您使用的模型或sql,这只是一个猜测
var scheduleList = (from p in db.ProductionDays
join w in db.Weeks on p.WeekId equals w.WeekId
join m in db.Models on m.? equal p.? // TODO
orderby w.Year ascending
orderby m.Name ascending
where (m.InActive == true)
select new ExtractionViewModel
{
Year = w.Year,
Week = w.WeekNum,
Day = p.ProductionDate,
VW250 = m.VW250,
VW270 = mx.VW270
}).ToList();
根据问题指南,请不要发布代码、数据、错误消息等的图像-复制或在问题中键入文本。请保留图像用于图表或演示渲染错误,这些是无法通过文本准确描述的。我已经和它的名为ExtractIOBViewModel请查看两个表的sql查询。