Ok, he logrado obtener el siguiente trabajoLINQ to SQL regreso de la función como IQueryable <T>
public IQueryable getTicketInformation(int ticketID)
{
var ticketDetails = from tickets in _context.tickets
join file in _context.file_objects on tickets.ticket_id equals file.source_id
where tickets.ticket_id == ticketID
select new { tickets.ticket_id, tickets.title, tickets.care_of_email, file.filename };
return ticketDetails.AsQueryable();
}
seguí adelante y creado mi propia clase (myObject) que contiene las primitivas ticket_id, título, care_of_email y nombre del archivo. ¿Cuáles son los artículos que estoy devolviendo en mi declaración de linq?
he modificado mi declaración para ser
public IQueryable<myObject> getTicketInformation(int ticketID)
{
var ticketDetails = from tickets in _context.tickets
join file in _context.file_objects on tickets.ticket_id equals file.source_id
where tickets.ticket_id == ticketID
select new { tickets.ticket_id, tickets.title, tickets.care_of_email, file.filename };
return ticketDetails.AsQueryable()<myObject>;
}
pensando que esto lo haría un tipo seguro con los genéricos, pero me sale el error sistema "No se puede convertir grupo Método 'AsQueryable' de tipo no-delegado. Linq.IQueryable '. ¿Tuviste la intención de invocar el método?
¿Es lo que estoy tratando de hacer posible?
¿La clase myObject necesita implementar IEnumerable o IQueryable?
O es la mejor manera de construir el MiObjeto objeto desde el conjunto de resultados de LINQ y luego simplemente volver de la función del objeto MyObject
public myObject getTicketInformation(int ticketID)
{
....linq statement....
myObject o = null;
foreach (obj in linqstatemt)
{
o = new myObject();
o.ticket_id = obj.ticket_id
.......
}
return o;
}
Pista, nombres de clase son PascalCased. – Dykam