C# 如何在LINQ SQL C中返回动态周数?

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() {

我有一个recordweek和year,它们在数据库记录中有数据,希望在控制器上的方法中使用LINQ语句进行查询。如何为这些记录创建动态查询?。recordyear和week返回的是随机值,与数据库表中的记录不在接收器中。如何动态地实现这一点?我是否创建了一个参数来获取动态值

        [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查询。