Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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# 使用Automapper创建数组的数组_C#_Arrays_Linq_Automapper - Fatal编程技术网

C# 使用Automapper创建数组的数组

C# 使用Automapper创建数组的数组,c#,arrays,linq,automapper,C#,Arrays,Linq,Automapper,我在一个使用Automapper的C#MVC项目中有以下代码,但我需要它返回一个数组数组,由Jquery Datatables处理 我目前已经使用Linq解决方案完成了这项工作,如下所述,但我想知道是否有使用Automapper的解决方案 Automapper Mapper.CreateMap<Job, IndexJobViewModel>() .ForMember(jvm => jvm.JobNumberFull, expression => expre

我在一个使用Automapper的C#MVC项目中有以下代码,但我需要它返回一个数组数组,由Jquery Datatables处理

我目前已经使用Linq解决方案完成了这项工作,如下所述,但我想知道是否有使用Automapper的解决方案

Automapper

Mapper.CreateMap<Job, IndexJobViewModel>()
    .ForMember(jvm => jvm.JobNumberFull,
    expression => expression.ResolveUsing(j => string.Format("{0}-{1}-{2}", j.JobNumberPrefix, j.JobNumber, j.JobNumberYear)));
更新

感谢ThinTim为我指明了正确的方向,我想出了一个可行的解决方案,尽管它并没有真正减少Linq版本的代码,只是另一种方式而已!我曾希望能够使用AutoMapper映射从我的工作模型到我的IndexViewModel,只给我需要的字段,然后从中创建一个数组

Mapper.CreateMap<Job, string[]>().ConstructUsing(
    j => new string[] 
    { 
         j.JobID.ToString(),
         j.JobNumber.ToString(), 
         j.JobNumberYear.ToString(), 
         string.Format("{0}-{1}-{2}", j.JobNumberPrefix, j.JobNumber, j.JobNumberYear), 
         j.JobPriority.ToString(), 
         j.EntityPriority.PriorityLevel,
         j.JobDescription 
     });

var jobs = db.Jobs.Where(j => j.OperationID == operationId).ToList();
var jobsArray = jobs.Select(job => Mapper.Map<string[]>(job)).ToArray();                          

return Json(new
{
Data = jobsArray
}, JsonRequestBehavior.AllowGet);
Mapper.CreateMap().ConstructUsing(
j=>新字符串[]
{ 
j、 JobID.ToString(),
j、 JobNumber.ToString(),
j、 JobNumberYear.ToString(),
格式(“{0}-{1}-{2}”,j.JobNumberPrefix,j.JobNumber,j.jobNumberEar),
j、 JobPriority.ToString(),
j、 整体优先,
j、 职位描述
});
var jobs=db.jobs.Where(j=>j.OperationID==OperationID.ToList();
var jobsArray=jobs.Select(job=>Mapper.Map(job)).ToArray();
返回Json(新的
{
Data=jobsArray
},JsonRequestBehavior.AllowGet);

似乎有你想要的东西。

ThinTim,谢谢你为我指明了正确的方向。我已经想出了一个可行的解决方案,并将其添加到我原来的帖子中。我真的希望避免详细说明每个领域,并使用Automapper魔术!
Mapper.CreateMap<Job, string[]>().ConstructUsing(
    j => new string[] 
    { 
         j.JobID.ToString(),
         j.JobNumber.ToString(), 
         j.JobNumberYear.ToString(), 
         string.Format("{0}-{1}-{2}", j.JobNumberPrefix, j.JobNumber, j.JobNumberYear), 
         j.JobPriority.ToString(), 
         j.EntityPriority.PriorityLevel,
         j.JobDescription 
     });

var jobs = db.Jobs.Where(j => j.OperationID == operationId).ToList();
var jobsArray = jobs.Select(job => Mapper.Map<string[]>(job)).ToArray();                          

return Json(new
{
Data = jobsArray
}, JsonRequestBehavior.AllowGet);