2012-05-21 52 views
0
var term = from s in DB.Terms 
         select new { s.Term_ID, s.TermName }; 

      comboboxTerm.DataSource = term; 
      combobox.DisplayMember = "Term_Name"; 
      combobox.ValueMember = "Term_ID"; 

我想上面的查詢轉換到一個列表<>,這樣我可以設置列表作爲數據源,以comboboxTerm。這將使我能夠訪問代碼中的comboboxTerm selectedValue。我怎麼能一個LINQ到實體查詢的結果轉換到一個列表<>

回答

0

將其更改爲:

var term = (from s in DB.Terms 
        select new { s.Term_ID, s.TermName }).ToList(); 

這實際上解決您的查詢,以及,因爲默認情況下你返回一個IQueryable

BUT爲組合框的數據源,你是最好關閉使用字典,像這樣:

var term = (from s in DB.Terms 
        select new { s.Term_ID, s.TermName }) 
      .ToDictionary(s => s.Term_ID, s => s.TermName); 

然後添加以下到您的組合框:

SelectedValuePath="Key" DisplayMemberPath="Value" 
0
comboboxTerm.DataSource = term.ToList(); 

OR

term = term.ToList(); 
相關問題