2010-01-02 5 views
3

Dans l'application WPF, j'ai une collection observable qui est connectée via la liaison de données avec ListView. Je voudrais remplir cette collection observable de requête LINQ à SQL, mais sans succès. En fait, mon code ne compile même pas (j'ai souligné les lignes de problème avec des commentaires).Comment ajouter des résultats de requête LINQ to SQL à la collection Observable?

La structure de la classe de collection Observable sous-jacente est similaire à la structure de la table SQL à partir de laquelle j'essaie d'obtenir une requête.

S'il vous plaît, quel est le problème avec mon approche?

Voici une partie de mon code:

ObservableCollection<ShowsQu> _ShowQuCollection = 
      new ObservableCollection<ShowsQu>(); 

    public ObservableCollection<ShowsQu> ShowQuCollection 
    { get { return _ShowQuCollection; } } 

    public class ShowsQu 
    { 
     public string ShowCode { get; set; } 
     public DateTime Date { get; set; } 
     public TimeSpan Time { get; set; } 
     public string Description { get; set; } 
    } 

    private void VisualizeAllShows() 
    { 

     MyfirstdbDataContext context = new MyfirstdbDataContext(); 
     _ShowQuCollection.Clear(); 

     var sh = from p in context.Shows select p; 

     foreach (var p in sh) 
      _ShowCollection.Add(new ShowsQu 
      { 
       Date = sh.Date, //here is compile-time error 
       Time = sh.Time, //here is compile-time error 
       Description = sh.Description //here is compile-time error 
      }); 
     }   
    } 

Répondre

2

Subst sh/p (sh est la requête, p est l'élément itérateur actuel):

foreach (var p in sh) { 
    _ShowCollection.Add(new ShowsQu { 
     Date = p.Date, 
     Time = p.Time, 
     Description = p.Description 
    }); 
} 

BTW, vous pouvez simplement utiliser foreach(var p in context.Shows) {...} ici.

+0

Oui, c'est. Merci beaucoup! Ça marche. Quelle mitaine stupide j'ai faite et n'a pas pu la localiser pendant des heures! – rem

+0

Et aussi merci pour le conseil de votre dernière ligne – rem

+0

Des yeux frais sont souvent utiles ;-p –

Questions connexes