C#映射/转换IEnumerable的最简单方法是什么<;被告知>;进入另一个IEnumerable<;Tnew>;尤其是EF
并且具有相同的属性。对不起,现在我没有例子,因为我正在使用智能手机。我尝试了使用EF和LINQ进行选择,并通过映射设置属性来创建一个新对象。但最后我还将返回一个新的IEnumerable。使用。以下是两个课程: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如何映射它们的代码
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;}
}
堆栈溢出不是免费的代码编写服务。您应该尝试自己编写代码。在做了更多的研究之后,如果你有问题,你可以发布你尝试过的东西,清楚地解释什么不起作用,并提供一个最小的、完整的、可验证的例子。你是对的!但是,坐在火车上,带着一台空的笔记本电脑,我只是从智能手机上发了一个简单的问题,不希望看到代码片段或其他什么。尽管如此,给出的答案帮助我解决了问题。没问题。很高兴你明白了。回头见。