Je possède ce code:LINQ: Renvoie la valeur var?
public static List<object> GetInbox(Guid id)
{
using (Flirt4dateDBDataContext dc = new Flirt4dateDBDataContext())
{
List<object> query = from pm in dc.PrivateMessages
join user in dc.Users
on pm.Sender equals user.UserID
select new
{
SenderName = user.Username
};
return query;
}
}
Il ne fonctionne pas. Erreur 1 Impossible de convertir implicitement le type 'System.Linq.IQueryable' en 'System.Collections.Generic.List'. Une conversion explicite existe (manque-t-il une distribution?) O: \ Flirt4Date \ Flirt4Date \ DAL \ PrivateMessageHandling.cs 69 29 DAL
Alors, que faire? Je sais, une option possible est d'écrire une classe et redonner une liste de cela, mais j'ai houndrets de requête comme ça et je serais heureux si je peux avoir une solution générique ...
L'objet anonyme créé et renvoyé à l'appelant n'est pas sérialisable. Néanmoins, comment voulez-vous consommer votre valeur de retour en toute sécurité sans connaître le type de retour? vous ne pouvez pas itérer sur eux et dire foreach (var item dans la liste) {Console.WriteLine (item. ????)} –
duplication possible de [LINQ to SQL: Retourne un type anonyme?] (http://stackoverflow.com/questions/534690/linq-à-sql-return-anonymous-type) – nawfal