Je tente de convertir la requête NHibernate suivante en utilisant l'instanciation dyanmic dans un IList < t> plutôt qu'un IList.Fusion d'un IList en IList <t> en utilisant l'instanciation dynamique
IList<AllName> allNames =
(IList<AllName>)Session.CreateQuery(
@"select new AllName(
name.NameId, name.FirstName, origin.OriginId, origin.Description,
name.Sex, name.Description, name.SoundEx
) from Name name join name.Origin origin")
.SetFirstResult(skip)
.SetMaxResults(pageSize);
L'exécution de ce que j'obtiens l'erreur suivante: -
Unable to cast object of type 'NHibernate.Impl.QueryImpl' to type 'System.Collections.Generic.IList`1[Domain.Model.Entities.AllName]'.
Je sais que je peux retourner
IList results = Sesssion.CreateQuery(...
mais mes couches de service attendent un
IList<AllName>
Comment puis-je y parvenir?
Lorsque vous utilisez la méthode d'extension '.Cast()', vous pouvez tout aussi bien ajouter un '.ToList()'. –
Merci Jon, la distribution a travaillé. Y a-t-il une sorte de performance frappée ici? Le format de ma page est défini sur 50 enregistrements. Je ne renvoie donc pas une quantité énorme de données. – Rippo
@sander: doh! Pourquoi pas. Je pense à ça? :) –