Скопировать список из одного класса в список в другом классе - PullRequest
0 голосов
/ 18 октября 2018

Я пытаюсь скопировать список из одного класса в другой список в другом классе.На самом деле используется 4 объекта.

На мой взгляд, я отображаю список элементов с -

@foreach (var item in Model.PointList)
{
     //my items displayed
}

У меня есть список, который нужен Model.PointList

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

}

С ссылками OrificeCertPoint, являющимися:

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 partial class Temp_OrificeCert
{
    public List<Temp_OrificeCertPoints> TempPointList { get; set; }
}

С ссылками Temp_OrificeCertPoint, являющимся:

public partial class Temp_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; }
}

Код в моем контроллере:

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;

Я пробовал несколько других, но продолжаю получать сообщение о том, что я не могу convert Temp_OrificeCertPoint to OrificeCertPoint

Мне нужно Model.PointList содержать список tempCert.TempPointList

1 Ответ

0 голосов
/ 18 октября 2018

Есть два разных класса, они не конвертируемы друг в друга.Вы должны сделать это сами:

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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...