使用linq从数据表中选择一列

时间:2013-01-31 23:38:06

标签: vb.net linq datatable

目前我正在使用sql并点击数据库来填充下拉列表。

Dim sqlStatement = "SELECT DISTINCT IMLOCN FROM table order by IMLOCN desc"
    LocationDropDown.DataSource = DB.sql(dbSalesWeb, sqlStatement)
    LocationDropDown.DataTextField = "IMLOCN"
    LocationDropDown.DataBind()
    LocationDropDown.Items.Insert(0, "ALL")

DB是一个自定义类,sql返回一个Datatable。我想在已经拥有IMLOCN

的数据表上使用linq
 Protected Sub updateDropDowns(ByVal dt As DataTable)


    Dim location = From u In dt.Rows _
                        Select u("IMLOCN") _
                        Distinct

    LocationDropDown.DataSource = location.ToList
    LocationDropDown.DataBind()

End Sub

我试过了  dt.AsEnumerable()Dim location = From u In dt.AsEnumerable _ Select u.Field(Of String)("IMLOCN") _ Distinct 我希望能够使用linq,我想了解更多关于它的信息

1 个答案:

答案 0 :(得分:1)

不确定您获得了什么错误,但此查询应该可以正常工作:

Dim qLocation = (From u In dt.AsEnumerable() _
                Select u.Field(Of String)("IMLOCN")).Distinct()
LocationDropDown.DataSource = qLocation.ToList()
LocationDropDown.DataBind()