Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 合并历史表记录asp.net mvc_C#_Asp.net_.net_Asp.net Mvc_Asp.net Core - Fatal编程技术网

C# 合并历史表记录asp.net mvc

C# 合并历史表记录asp.net mvc,c#,asp.net,.net,asp.net-mvc,asp.net-core,C#,Asp.net,.net,Asp.net Mvc,Asp.net Core,我正在开发一个asp.net核心mvc项目,我有两个表MyData和MyDataHistorical。这些表由两个不同的表模型类生成,它们具有相同的列,只有不同的名称,MyDataHistorical存储特定时间之前的数据 例如,当我想从其中一个表向视图页面发送数据时,我使用linq查询并将数据设置为表模型类型的列表 但我想绑定日期范围中的数据,该范围包含两个表中的记录。我找不到合并2列表的方法,该列表具有不同的类型 我将表模型类型的列表作为绑定到datatable的json数据发送到视图。但我

我正在开发一个asp.net核心mvc项目,我有两个表MyData和MyDataHistorical。这些表由两个不同的表模型类生成,它们具有相同的列,只有不同的名称,MyDataHistorical存储特定时间之前的数据

例如,当我想从其中一个表向视图页面发送数据时,我使用linq查询并将数据设置为表模型类型的列表

但我想绑定日期范围中的数据,该范围包含两个表中的记录。我找不到合并2列表的方法,该列表具有不同的类型

我将表模型类型的列表作为绑定到datatable的json数据发送到视图。但我想发送的“结果”数据包含选定日期范围的MyData和MyDataHistorical记录中的数据。例如,从上个月到现在的记录列表,一些数据在历史表中,另一些在MyData表中

List<MyData> theList = new List<MyData>();
var list=GetData<MyData>(x=>x.date==myDate);
theList=list;

List<MyDataHistorical> theListHistorical = new List<MyDataHistorical>();
var listHistorical=GetData<MyDataHistorical>(x=>x.date==myDate);
theListHistorical=listHistorical;


 list = list.Select(x => new MyData
            {
                Id= x.Id,
                Name= x.Name,
                DepartmentId=x.DepartmentId
            }).ToList();

 var result = from s in list select s;

 dataTable.data = result.ToArray();

 return Json(dataTable, new Newtonsoft.Json.JsonSerializerSettings());

谢谢您的帮助。

当您按日期筛选时,至少在这两个类中都应该有date属性。 之后,您可以执行以下操作:

List<MyData> theList = new List<MyData>();
var list=GetData<MyData>(x=>x.date==myDate);
theList=list;

List<MyDataHistorical> theListHistorical = new List<MyDataHistorical>();
var listHistorical=GetData<MyDataHistorical>(x=>x.date==myDate);
theListHistorical=listHistorical;


list.AddRange(listHistorical.Select(x => new MyData()
        {
            Id= x.Id,
            Name= x.Name,
            DepartmentId=x.DepartmentId
        }));

dataTable.data = list.ToArray();

return Json(dataTable, new Newtonsoft.Json.JsonSerializerSettings());

您可以创建另一个类viewmodel,它的参数与这些类完全相同,从数据库中获取数据后,您可以通过循环在viewmodel中设置这些数据,如果我正确理解了这个问题的话。请告诉我,您到底想要什么作为输出?非常感谢您的回答,我编辑了我的问题,并试图解释我想要什么作为输出。请您将MyData和MyDataHistorical类添加到您的问题中好吗?我编辑了我的模型类问题。这解决了我的问题,我不知道我可以像这样添加不同类型的范围,非常感谢你!
List<MyData> theList = new List<MyData>();
var list=GetData<MyData>(x=>x.date==myDate);
theList=list;

List<MyDataHistorical> theListHistorical = new List<MyDataHistorical>();
var listHistorical=GetData<MyDataHistorical>(x=>x.date==myDate);
theListHistorical=listHistorical;


list.AddRange(listHistorical.Select(x => new MyData()
        {
            Id= x.Id,
            Name= x.Name,
            DepartmentId=x.DepartmentId
        }));

dataTable.data = list.ToArray();

return Json(dataTable, new Newtonsoft.Json.JsonSerializerSettings());