如何使用实体框架将列表转换为另一个列表

时间:2014-01-16 07:05:54

标签: entity-framework

我有两个模型类,第一个是“Ticket”,另一个是“ExpTicket”,ExpTicket中只有一个额外的列/属性,其他属性在两个列表中都相同。我以ExpTicket列表的形式从数据库中提取数据,然后将所有列/属性重新分配给故障单列表,但故障单列表中不存在一个附加列。

但我无法将“ExpTicket”列表中的数据分配到“Ticket”列表。如果有人能及时帮助,我将非常感激。以下是我需要从ExpTicket转换为“Ticket”列表但失败的代码。请帮忙。

var GetTicket = ticketRepository.ExpTicket(r => r.TicketId == TicketId).ToList();
List<Ticket> CTicket = GetTicket.ToList();

2 个答案:

答案 0 :(得分:1)

首先你有:

var GetTicket = ticketRepository.ExpTicket(r => r.TicketId == TicketId).ToList();

然后进行查询:

var CTickets = (from t in GetTicket
               select new Ticket{field1=t.field1,field2=t.field2...}).ToList();

或者只是重新调整你的模型以使用TPT(每种类型的表格,Table per type code first)祝你好运

答案 1 :(得分:0)

var CTickets = new List<Ticket>();
var ExpTicket = ticketRepository.Where(r => r.TicketId == TicketId);

foreach (var ticket in ExpTicket)
{
    CTickets.Add(new Ticket { TicketId = ticket.TicketId, ... and so on });
}

// CTickets is the new list of tickets