C#映射/转换IEnumerable的最简单方法是什么<;被告知>;进入另一个IEnumerable<;Tnew>;尤其是EF

C#映射/转换IEnumerable的最简单方法是什么<;被告知>;进入另一个IEnumerable<;Tnew>;尤其是EF,c#,linq,C#,Linq,并且具有相同的属性。对不起,现在我没有例子,因为我正在使用智能手机。我尝试了使用EF和LINQ进行选择,并通过映射设置属性来创建一个新对象。但最后我还将返回一个新的IEnumerable。使用。以下是两个课程: public class TOld { public string Prop1 { get; set; } } public class TNew { public string Prop1 { get; set; } } 下面是告诉AutoMapper如何映射它们的代码

并且具有相同的属性。对不起,现在我没有例子,因为我正在使用智能手机。我尝试了使用EF和LINQ进行选择,并通过映射设置属性来创建一个新对象。但最后我还将返回一个新的IEnumerable。

使用。以下是两个课程:

public class TOld {
   public string Prop1 { get; set; }
}

public class TNew {
   public string Prop1 { get; set; }
}
下面是告诉AutoMapper如何映射它们的代码。使用下面的代码,您可以从
IEnumerable
映射到
IEnumerable
,反之亦然:

// ReverseMap will do vice-versa mapping
Mapper.Initialize( x => x.CreateMap<TOld, TNew>().ReverseMap() );

IEnumerable<TOld> olds = new List<TOld> { new TOld { Prop1 = "TOld" } };

var news = Mapper.Map<IEnumerable<TNew>>( olds );
//反向映射将执行反向映射
初始化(x=>x.CreateMap().ReverseMap());
IEnumerable olds=新列表{new-teld{Prop1=“teld”};
var news=Mapper.Map(olds);

使用可以使用
.ConverAll
方法:

   using System.Linq; // Need;

   internal class Program
   {
     private static void Main()
     {
       IEnumerable<TOld> told = new List<TOld> { new TOld { Name = "Name1", Age = 18 } };
       IEnumerable<TNew> tnew = told.ToList().ConvertAll(t => new TNew { Name = t.Name, Age = t.Age });

       foreach (var @new in tnew)
         Console.WriteLine(@new.Name);
     }
   }

   public class TOld
   {
     public string Name { get; set; }
     public int Age { get; set; }
   }

   public class TNew
   {
     public string Name { get; set; }
     public int Age { get; set; }
   }
使用System.Linq;//需要
内部课程计划
{
私有静态void Main()
{
IEnumerable-tell=new-List{new-tell{Name=“Name1”,Age=18};
IEnumerable tnew=tell.ToList().ConvertAll(t=>newtnew{Name=t.Name,Age=t.Age});
foreach(在tnew中为新变量)
Console.WriteLine(@new.Name);
}
}
公开课
{
公共字符串名称{get;set;}
公共整数{get;set;}
}
公共类TNew
{
公共字符串名称{get;set;}
公共整数{get;set;}
}

堆栈溢出不是免费的代码编写服务。您应该尝试自己编写代码。在做了更多的研究之后,如果你有问题,你可以发布你尝试过的东西,清楚地解释什么不起作用,并提供一个最小的、完整的、可验证的例子。你是对的!但是,坐在火车上,带着一台空的笔记本电脑,我只是从智能手机上发了一个简单的问题,不希望看到代码片段或其他什么。尽管如此,给出的答案帮助我解决了问题。没问题。很高兴你明白了。回头见。