删除VB.net中的Duplicates Linq Query Dropdownlist

时间:2014-09-25 13:54:36

标签: sql asp.net vb.net linq

我已将我的数据源绑定到下拉列表并且它可以正常工作,但它显示重复项。这是我的代码

Private Sub ddlMasterPids_Load(sender As Object, e As EventArgs) Handles ddlMasterPids.Load
    Dim db As New DesignConstructionDataContext

    Dim Master = (From Master_Name In db.groups
                  Where (Master_Name.Master_Name IsNot Nothing)
                  Select Master_Name).ToList().Distinct()

    ddlMasterPids.DataSource = Master
    ddlMasterPids.DataTextField = "Master_Name"
    ddlMasterPids.DataValueField = "Master_Name"
    ddlMasterPids.DataBind()
End Sub

.Distinct()不会抛出错误,但仍然存在重复。我也试过切换distinc和tolist,但仍然忽略了明显的。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您没有选择列Master_Name,而是选择表Master_Name中的行。这就是为什么Distinct没有按预期工作的原因。这些行至少有一列不同。

相反,你想要这个:

Dim Master = (From Master_Name In db.groups
              Where Master_Name.Master_Name IsNot Nothing
              Select Master_Name.Master_Name).Distinct().ToList()

另请注意,我在Distinct之前调用ToList来过滤已在数据库中。