2010-01-02 3 views
3

В приложении WPF у меня есть Observable Collection, которая связана с привязкой данных к ListView. Я хотел бы заполнить эту коллекцию Observable из запроса LINQ to SQL, но без успеха. На самом деле мой код даже не компилируется (я указал на проблемные строки с комментариями).Как добавить результаты запроса LINQ to SQL в Observable Collection?

Структура базового класса Observable Collection похожа на структуру таблицы SQL, из которой я пытаюсь получить запрос.

Пожалуйста, что случилось с моим подходом?

Вот часть моего кода:

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 
      }); 
     }   
    } 

ответ

2

Subst sh/p (sh является запрос, p является текущий элемент итератора):

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

Кстати, вы могли бы просто использовать foreach(var p in context.Shows) {...} Вот.

+0

Да, это так. Спасибо большое! Оно работает. Какой глупый митак я сделал и не мог локализовать его часами! – rem

+0

А также благодарю вас за отзыв последней строки – rem

+0

Свежие глаза часто полезны; -p –

Смежные вопросы