C# 在sql asp.net mvc 5中使用linq时,如何格式化记录上的数据?

C# 在sql asp.net mvc 5中使用linq时,如何格式化记录上的数据?,c#,sql,asp.net-mvc,linq,C#,Sql,Asp.net Mvc,Linq,我有一个spreedsheet和数据,但问题是我的数据是错误的,是它没有按照要求格式化,需要一些帮助。这是我对这个应用程序的逻辑。sql查询用于从数据库中查询1个数据库中3个不同表的记录列表,控制器和模型用于我的逻辑,以根据我的要求生成以下图像 //SQL查询 选择顶部(1000)[周末] ,[周数] ,[年] ,[CreatedDate] ,[CreatedBy] ,[ModifiedDate] ,[经修改] ,[非活动] 来自【生产管理】【日程安排】【周】 选择TOP(1000)[Prod

我有一个spreedsheet和数据,但问题是我的数据是错误的,是它没有按照要求格式化,需要一些帮助。这是我对这个应用程序的逻辑。sql查询用于从数据库中查询1个数据库中3个不同表的记录列表,控制器和模型用于我的逻辑,以根据我的要求生成以下图像

//SQL查询
选择顶部(1000)[周末]
,[周数]
,[年]
,[CreatedDate]
,[CreatedBy]
,[ModifiedDate]
,[经修改]
,[非活动]
来自【生产管理】【日程安排】【周】
选择TOP(1000)[ProductionDayId]
,[周末]
,[生产日期]
,[星期五]
,[CreatedDate]
,[CreatedBy]
,[ModifiedDate]
,[经修改]
,[非活动]
来自【生产管理】【计划】【生产日】
选择顶部(1000)[ModelId]
,[姓名]
,[代码]
,[CreatedDate]
,[CreatedBy]
,[ModifiedDate]
,[经修改]
,[非活动]
来自[ProductionManagement].[Schedule].[Model]
//控制器
公共IList GetExtractionViewModels()
{
var db=新的ProductionManagementEntities();
var scheduleList=(从p开始,以db.ProductionDays为单位
从m到db.Models
在db中加入w。周在p.WeekId上等于w.WeekId
按w.年递增排序
orderby m.Name降序
其中(m.InActive==true)
选择new ExtractionViewModel
{
年份=w.年,
周=周数,
日期=生产日期,
VW250=m.名称,
VW270=m.名称,
VW2502PA=m.名称,
VW270PA=m.名称
}).ToList();
返回时间表;
}
公共类提取视图模型
{
公共字符串年份{get;set;}
公共整数周{get;set;}
[数据类型(DataType.Date)]
[DisplayFormat(DataFormatString=“{0;yyyy-MM-dd}”,ApplyFormatInEditMode=false)]
公共日期时间日{get;set;}
公共字符串VW250{get;set;}
公共字符串VW270{get;set;}
公共字符串VW2502PA{get;set;}
公共字符串VW270PA{get;set;}
}

尝试以下操作:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace ConsoleApplication
{
    public class Program
    {
        
        public static void Main(string[] args)
        {

            var db = new ProductionManagementEntities();
    
            var scheduleList = (from p in db.ProductionDays.OrderBy(x => x.CreatedDate)
                                join w in db.Weeks on p.WeekId equals w.WeekId
                                join m in db.Models.Where(x =>x.InActive == false) on p.CreatedDate equals m.CreatedDate
                                select new { p = p, w = w, m = m}
                                ).GroupBy(x => x.p.CreatedDate)
                                .Select(x => new ExtractionViewModel() {
                                        Year = x.Key.Year,
                                        Week = x.FirstOrDefault().w.WeekId,
                                        Day = x.FirstOrDefault().p.ProductionDate,
                                        VW250 = x.Where(y => y.m.Name == "VM250").Count(),
                                        VW270 = x.Where(y => y.m.Name == "VM270").Count(),
                                        VW2502PA = x.Where(y => y.m.Name == "VM2502PA").Count(),
                                        VW270PA = x.Where(y => y.m.Name == "VM270PA").Count()    
                                 }).ToList();
            }
    }
    public class ProductionManagementEntities
    {
        public List<Week> Weeks { get;set;}
        public List<ProductionDay> ProductionDays { get;set;}
        public List<Model> Models { get;set;}
    }

    public class Week
    {
        public int WeekId { get;set;}
        public DateTime CreatedDate { get;set;}
        public string CreatedBy { get;set;}
        public DateTime ModifiedDate { get;set;}
        public string ModifiedBy { get;set;}
        public Boolean InActive { get;set;}
    }
    public class ProductionDay
    {
        public int WeekId { get;set;}
        public DateTime ProductionDate { get;set;}
        public DayOfWeek DayOfWeek { get;set;}
        public DateTime CreatedDate { get;set;}
        public string CreatedBy { get;set;}
        public DateTime ModifiedDate { get;set;}
        public string ModifiedBy { get;set;}
        public Boolean InActive { get;set;}
    }
    public class Model
    {
        public string Name { get; set; }
        public int Code { get; set; }
        public DateTime CreatedDate { get; set; }
        public string CreatedBy { get; set; }
        public DateTime ModifiedDate { get; set; }
        public string ModifiedBy { get; set; }
        public Boolean InActive { get; set; }
    }
    

    public class ExtractionViewModel
    {
        public int Year { get; set; }
        public int Week { get; set; }
        public DateTime Day { get; set; }
        public int VW250 { get; set; }
        public int VW270 { get; set; }
        public int VW2502PA { get; set; }
        public int VW270PA { get; set; }
    }
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
命名空间控制台应用程序
{
公共课程
{
公共静态void Main(字符串[]args)
{
var db=新的ProductionManagementEntities();
var scheduleList=(从db.ProductionDays.OrderBy(x=>x.CreatedDate)中的p开始)
在db中加入w。周在p.WeekId上等于w.WeekId
在db.Models中加入m,其中p.CreatedDate上的(x=>x.InActive==false)等于m.CreatedDate
选择新的{p=p,w=w,m=m}
).GroupBy(x=>x.p.CreatedDate)
.Select(x=>newextractionviewmodel(){
年份=x.Key.Year,
Week=x.FirstOrDefault().w.WeekId,
Day=x.FirstOrDefault().p.ProductionDate,
VW250=x.Where(y=>y.m.Name==“VM250”).Count(),
VW270=x.Where(y=>y.m.Name==“VM270”).Count(),
VW2502PA=x.Where(y=>y.m.Name==“VM2502PA”).Count(),
VW270PA=x.Where(y=>y.m.Name==“VM270PA”).Count()
}).ToList();
}
}
公共类生产管理实体
{
公共列表周{get;set;}
公共列表ProductionDays{get;set;}
公共列表模型{get;set;}
}
公共课周
{
public int WeekId{get;set;}
公共日期时间CreatedDate{get;set;}
通过{get;set;}创建的公共字符串
公共日期时间修改日期{get;set;}
公共字符串由{get;set;}修改
公共布尔非活动{get;set;}
}
公课制作日
{
public int WeekId{get;set;}
公共日期时间ProductionDate{get;set;}
公共DayOfWeek DayOfWeek{get;set;}
公共日期时间CreatedDate{get;set;}
通过{get;set;}创建的公共字符串
公共日期时间修改日期{get;set;}
公共字符串由{get;set;}修改
公共布尔非活动{get;set;}
}
公共类模型
{
公共字符串名称{get;set;}
公共整数代码{get;set;}
公共日期时间CreatedDate{get;set;}
通过{get;set;}创建的公共字符串
公共日期时间修改日期{get;set;}
公共字符串由{get;set;}修改
公共布尔非活动{get;set;}
}
公共类提取视图模型
{
公共整数年{get;set;}
公共整数周{get;set;}
公共日期时间日{get;set;}
公共int VW250{get;set;}
公共整数
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace ConsoleApplication
{
    public class Program
    {
        
        public static void Main(string[] args)
        {

            var db = new ProductionManagementEntities();
    
            var scheduleList = (from p in db.ProductionDays.OrderBy(x => x.CreatedDate)
                                join w in db.Weeks on p.WeekId equals w.WeekId
                                join m in db.Models.Where(x =>x.InActive == false) on p.CreatedDate equals m.CreatedDate
                                select new { p = p, w = w, m = m}
                                ).GroupBy(x => x.p.CreatedDate)
                                .Select(x => new ExtractionViewModel() {
                                        Year = x.Key.Year,
                                        Week = x.FirstOrDefault().w.WeekId,
                                        Day = x.FirstOrDefault().p.ProductionDate,
                                        VW250 = x.Where(y => y.m.Name == "VM250").Count(),
                                        VW270 = x.Where(y => y.m.Name == "VM270").Count(),
                                        VW2502PA = x.Where(y => y.m.Name == "VM2502PA").Count(),
                                        VW270PA = x.Where(y => y.m.Name == "VM270PA").Count()    
                                 }).ToList();
            }
    }
    public class ProductionManagementEntities
    {
        public List<Week> Weeks { get;set;}
        public List<ProductionDay> ProductionDays { get;set;}
        public List<Model> Models { get;set;}
    }

    public class Week
    {
        public int WeekId { get;set;}
        public DateTime CreatedDate { get;set;}
        public string CreatedBy { get;set;}
        public DateTime ModifiedDate { get;set;}
        public string ModifiedBy { get;set;}
        public Boolean InActive { get;set;}
    }
    public class ProductionDay
    {
        public int WeekId { get;set;}
        public DateTime ProductionDate { get;set;}
        public DayOfWeek DayOfWeek { get;set;}
        public DateTime CreatedDate { get;set;}
        public string CreatedBy { get;set;}
        public DateTime ModifiedDate { get;set;}
        public string ModifiedBy { get;set;}
        public Boolean InActive { get;set;}
    }
    public class Model
    {
        public string Name { get; set; }
        public int Code { get; set; }
        public DateTime CreatedDate { get; set; }
        public string CreatedBy { get; set; }
        public DateTime ModifiedDate { get; set; }
        public string ModifiedBy { get; set; }
        public Boolean InActive { get; set; }
    }
    

    public class ExtractionViewModel
    {
        public int Year { get; set; }
        public int Week { get; set; }
        public DateTime Day { get; set; }
        public int VW250 { get; set; }
        public int VW270 { get; set; }
        public int VW2502PA { get; set; }
        public int VW270PA { get; set; }
    }
}