Comment puis-je charger ces LINQ résultats dans mon ViewModel de la classe?
J'ai une requête LINQ qui retourne des résultats correspondre avec ma PictureGallery
classe. J'ai besoin de les charger dans mon ViewModel
mais im obtenir l'erreur suivante:
Impossible de convertir implicitement le type de
'Système.Linq.IQueryable' à
'Système.Les Collections.Génériques.IEnumerable'.
Une conversion explicite existe (vous manque un plâtre?)
Je suis plutôt nouveau sur le C#. Comment dois-je jeter les "Résultats" dans mon "PictureGallery" viewmddel classe?
Merci d'avance!
Contrôleur:
//Test MediaID
var MediaID = 75;
//Query Results
var Results = from g in DB.Galleries
join m in DB.Media on g.GalleryID equals m.GalleryID
where g.GalleryID == GalleryID
orderby m.MediaDate descending, m.MediaID descending
select new { g.GalleryTitle, Media = m };
//Create my viewmodel
var Model = new GalleryViewModel
{
MediaID = MediaID,
PictureGallery = Results, //This line throws the error.
PictureCount = Results.Count()
};
Viewmodel:
public class GalleryViewModel
{
public int? MediaID { get; set; }
public IEnumerable<PictureGallery> PictureGallery { get; set; }
public int PictureCount { get; set; }
}
public class PictureGallery
{
public int GalleryID { get; set; }
public string GalleryTitle { get; set; }
public int MediaID { get; set; }
public string MediaTitle { get; set; }
public string MediaDesc { get; set; }
public double Rating { get; set; }
public int Views { get; set; }
}
OriginalL'auteur Maddhacker24 | 2013-01-04
Vous devez vous connecter pour publier un commentaire.
Reformuler votre requête comme suit:
OriginalL'auteur Hamlet Hakobyan
Vous essayez de définir une
IEnumerable<PictureGallery>
à unIQueryable<anonymous>
. Vous avez besoin pour transformer le type correct:OriginalL'auteur Paul Fleming
Ensuite, Vous pouvez écrire
var liste = résultat.ToList();
Puis la passer à la vue comme cela
de retour de Vue(liste);
Vous pouvez l'accepter dans votre vue comme cela
@Liste modèle
Où ViewModel est une simple classe avec des propriétés d'accepter la résultante de ces valeurs après l'exécution de la requête.
Vous pouvez vérifier ces pièces jointes[requête Linq,Modèle de Vue,Vueentrez la description de l'image ici][1]
OriginalL'auteur Hrishikesh T T