2010-01-07 4 views
1

Je veux que ce ci-dessous classe pour revenir IList <> S'il vous plaît me dire pourquoi il ne fonctionne pasrequête IList dans LINQ dans l'application MVC

public IList<CheckBoxListInfo> GetLinks() 
     { 
      string linkName = string.Empty; 
      int linkId = 0; 
      using (var db = new brandconnectionsEntities()) 
      { 
       var query = from s in db.BC_TabTable 
               select new 
               { 

                linkName = s.TabName, 
                linkId = s.TabId, 
               }; 

       IList<CheckBoxListInfo> list = query.ToList() as IList<CheckBoxListInfo>; 

       return list; 

      } 
     } 

Merci Ritz

Répondre

5

Vous devez changer votre instruction select renvoyer des objets CheckBoxListInfo.

par exemple.

select new CheckBoxListInfo 
{ 
    LinkName = s.TabName, 
    LinkId = s.TabId, 
}; 

Au moment où il est de retour un type anonyme.

0

Il ne fonctionne pas parce qu'en ce moment votre requête renvoie une séquence d'un type anonyme défini par cette expression:

select new 
{ 
    linkName = s.TabName, 
    linkId = s.TabId, 
}; 

, vous avez besoin au lieu de sélectionner une nouvelle CheckBoxListInfo dans votre requête, comme celui-ci pseudo- Code:

select new CheckBoxListInfo { LinkName = s.TabName, LinkId = s.TabId } 

(je ne sais pas comment l'API CheckBoxListInfo semble, si YMMV

0
var query =(from s in db.BC_TabTable 
     select new CheckBoxListInfo 
     { 
      linkName= s.TabName, 
      linkId= s.TabId, 
     }).ToList(); 
.