C# 将列表从一个类复制到另一个类中的列表

C# 将列表从一个类复制到另一个类中的列表,c#,list,C#,List,我试图将一个列表从一个类复制到另一个类中的另一个列表。实际上有4个对象正在使用 在我的视图中,我正在显示带有- @foreach (var item in Model.PointList) { //my items displayed } 我有一个需要的列表Model.PointList public partial class OrificeCert { public List<OrificeCertPoint> PointList { get; set; } }

我试图将一个列表从一个类复制到另一个类中的另一个列表。实际上有4个对象正在使用

在我的视图中,我正在显示带有-

@foreach (var item in Model.PointList)
{
     //my items displayed
}
我有一个需要的列表
Model.PointList

public partial class OrificeCert
{
 public List<OrificeCertPoint> PointList { get; set; }

}
下面是另一个新列表

public partial class Temp_OrificeCert
{
    public List<Temp_OrificeCertPoints> TempPointList { get; set; }
}
我的控制器中的代码是:

tempCert.TempPointList = db.Temp_OrificeCertPoints
                .Where(x => x.OrificeCertID == 1).ToList();
//one attempt
List<OrificeCertPoint> newList =   CopyTo.tempCert.TempPointList;
//another attempt
model.PointList = tempCert.TempPointList;
tempCert.TempPointList=db.Temp\u孔板插入点
其中(x=>x.OrificeCertID==1).ToList();
//一次尝试
List newList=CopyTo.tempCert.TempPointList;
//又一次尝试
model.PointList=tempCert.TempPointList;
我已经尝试了其他几种方法,但我一直收到一条消息,说明我无法将
转换
临时孔板接收点
转换为
孔板接收点


我需要
Model.PointList
来包含
tempCert.TempPointList
的列表有两个不同的类,它们不能相互转换。你必须自己做:

public partial class OrificeCert
{
 public List<OrificeCertPoint> PointList { get; set; }

}
public partial class OrificeCertPoint
{
    public string Total { get; set; }
    public string Raw { get; set; }
    public string Flow { get; set; }
    public string Diff { get; set; }
    public string Background { get; set; }

    public static OrificeCertPoint CreateFrom(Temp_OrificeCertPoint copyPoint)
    {
        return new OrificeCertPoint
        {
            Total = copyPoint.Total,
            Raw = copyPoint.Raw ,
            Flow = copyPoint.Flow,
            Diff = copyPoint.Diff,
            Background = copyPoint.Background  
        };
    }
}
现在您可以使用:

model.PointList = tempCert.TempPointList.ConvertAll(OrificeCertPoint.CreateFrom);

它们不是相同的类型。一个是
List
另一个是
List
。。。你可以使用一个接口,但我不明白为什么你会想要两个完全相同的模型放在首位。或者一个基本/抽象类..我认为这个答案可能会有帮助,因为我同意S.Akbari的观点,使用AutoMapper进行此类类型转换会让您受益匪浅。
model.PointList = tempCert.TempPointList.ConvertAll(OrificeCertPoint.CreateFrom);