2014-04-04 75 views
1

我試圖顯示下拉列表,其中包含表'Events'中的值。我創建了一個具有數據庫結構的Model.edmx。現在我只需編寫LINQ代碼來顯示一列值。我對LINQ很陌生。使用LINQ(實體框架)從表中選擇列值

Dim Events=" LINQ select statement part???" 



    ddlEvent.DataSource = Events 
    ddlEvent.DataBind() 
    ddlEvent.Items.Insert(0, New ListItem("-Type-", "")) 
+0

根據你的過濾條件,查詢會有所不同。你過濾數據 – Saravanan

+0

不,我不@saravanan – user3404672

+0

'昏暗的事件?這是VB還是C#? –

回答

0

DropDownLists與2個字段工作:

  • DataTextField表示該字段保持的將要顯示給用戶
  • DataValueField表示字段hoding相關聯的值的選項文本與每個選項

所以在你的情況下,你可以得到它的工作,如:

Dim events As List(Of Event) = yourDbContext.Events.ToList() 

ddlEvent.DataSource = events 
ddlEvent.DataTextField = "NameOfThePropertyYouWantDisplayed" 
ddlEvent.DataValueField = "NameOfThePropertyYouWantAsValue" 
ddlEvent.DataBind() 

但是請注意,查詢將從數據庫中檢索每個屬性。如果你的Event類有很多屬性,這可能會損害性能。

爲避免這種情況,您可以使用LINQ Select運算符,用於投影。這可以用來從數據庫中只檢索必要的數據。你可以看看MSDN here

0

Context.Events.ToList();

其中,上下文是您的EF分貝範圍內。更新在where子句

0
ddlEvent.DataSource = from x in Context.Events select x.column; 

這裏的「X」是一個變量,在「x.column」列'需要你想獲取列的篩選條件。

其中,Context是您的EF db上下文。