"TicketList" - это имя переменной для списка анонимного типа. Типа "TicketList" нет. Приведение из анонимных типов может быть выполнено («по примеру»), но оно очень хрупкое, и я просто не рекомендую использовать для этого анонимный тип.
Одним из вариантов будет объявление моего собственного типа (в папке "model (s)" пользовательского интерфейса) - например, TicketSummary
/ TicketLite
(и т. Д.) С Title
и CustomerName
. Затем используйте этот тип:
public class TicketSummary
{
public string CustomerName { get; set; }
public string Title { get; set; }
}
var ticketList = (from t in db.Tickets
where t.Title.Contains("a")
select new TicketSummary
{
CustomerName = (
from cname in db.Customers
where cname.CustomerId == t.CustomersId
select cname.FirstName.ToString()
).FirstOrDefault(),
Title = t.Title
}).ToList();
return ticketList;
Тогда вы сможете использовать:
<%foreach (TicketSummary ts in (IEnumerable<TicketSummary>)ViewData.Model) {%>
<%=ts.Title%><br />
<%=ts.customerName %>
<% } %>
На самом деле, я бы, вероятно, перенес эту работу в репозиторий и имел бы метод репозитория, который возвращает список типа итога.