2010-06-16 106 views
0

我正在寫一段代碼,它從sql ce 3.5數據庫獲取記錄,根據提供的URL創建圖像,然後用這些圖像填​​充observablecollection。它看起來像這樣:WPF和ADO.NET EF - 不工作

private void UserControl_Loaded(object sender, RoutedEventArgs e) 
{ 
    Entities db = new Entities(); 
    ObservableCollection<Image> _imageCollection = 
    new ObservableCollection<Image>(); 

    IEnumerable<library> libraryQuery = 
    from c in db.ElectricalLibraries 

    select c; 

    foreach (ElectricalLibrary c in libraryQuery) 
    { 
     Image finalImage = new Image(); 
     finalImage.Width = 80; 

     BitmapImage logo = new BitmapImage(); 
     logo.BeginInit(); 
     logo.UriSource = new Uri(c.url); 
     logo.EndInit(); 

     finalImage.Source = logo; 

     _imageCollection.Add(finalImage); 

    } 

} 

我得到兩個錯誤,當我試圖改變什麼: 1)無法從IQueryable的轉換爲IEnumerable的 2)的連接字符串是無效的,不正確的供應商或無法找到。具有EF模型和app.config的DataAccessLayer以及此代碼被放置在兩個單獨的項目中。

任何建議如何正確寫入?

回答

0

1)

交易所

IEnumerable<library> libraryQuery = 

IEnumerable<ElectricalLibrary> libraryQuery = 

或只是

var libraryQuery = 

2)連接 - 你需要在可執行文件中有app.config - 而不是在被引用的項目中。根據你提供的信息,我可以在沒有更多信息的情況下找出這些信息。

+0

使用「var」將工作(但糾正泛型typename應該失敗) – 2010-06-16 13:38:24

+0

嗯? IQueryable 實現IEnumerable 不是db.ElectricalLibraries是ElectricalLibrary的集合嗎? – Goblin 2010-06-16 18:22:41

+0

我認爲模型中的一些名稱已經被複位了。所以答案是,它是一個集合。但問題似乎是,出於某種原因,我無法在兩種類型的集合之間進行轉換。另一個問題 - 我應該將整個app.conf複製到模塊中嗎?還是持有shell模塊的項目? – Enzomatric 2010-06-17 07:32:46

0

的BookLibrary示例應用程序展示瞭如何結合SQL CE 3.5和WPF一起使用實體框架。