使用LINQ(实体框架)从表中选择列值

时间:2014-04-04 01:41:36

标签: sql .net vb.net linq entity-framework

我尝试使用表'Events'中的值显示下拉列表。我创建了一个具有数据库结构的Model.edmx。现在我必须编写LINQ代码来显示一个列值。我是LINQ的新手。

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



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

3 个答案:

答案 0 :(得分:0)

Context.Events.ToList();

其中,Context是您的EF db上下文。在where子句

中更新过滤条件

答案 1 :(得分:0)

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

此处'x'是一个变量,'x.column'中的'column'是您要获取的必填列。

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

答案 2 :(得分:0)

DropDownLists使用2个字段:

  • DataTextField 表示包含将向用户显示的选项文本的字段
  • DataValueField 表示占有与每个选项相关联的值的字段

所以在你的情况下,你可以使用类似的东西:

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

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

但请注意,查询将从数据库中检索每个属性。如果Event类有很多属性,这可能会影响性能。

为避免这种情况,您可以使用用于投影的LINQ Select运算符。这可用于仅从数据库中检索necesseray数据。您可以查看MSDN here