Vb.net 不同的组合框项目

Vb.net 不同的组合框项目,vb.net,linq,entity-framework,Vb.net,Linq,Entity Framework,我正在尝试将sql转换为实体,需要选择不同的项。我原以为这会奏效,但它会返回所有行,而不是不同的项 Dim OrderNos = (From r In Orders.R3Delivery Where r.mainOrderNumber <> "" Select r).Distinct().ToList() For Each thisentry In OrderNos cbOrderNumbers.DisplayMember = thisentry.main

我正在尝试将sql转换为实体,需要选择不同的项。我原以为这会奏效,但它会返回所有行,而不是不同的项

  Dim OrderNos = (From r In Orders.R3Delivery Where r.mainOrderNumber <> "" Select r).Distinct().ToList()
    For Each thisentry In OrderNos
        cbOrderNumbers.DisplayMember = thisentry.mainOrderNumber
        cbOrderNumbers.ValueMember = thisentry.mainOrderNumber

    Next
Dim OrderNos=(来自Orders.r3中的r,其中r.mainOrderNumber“”选择r.Distinct().ToList()中的r)
对于OrderNos中的每个thisentry
CBOrderNumber.DisplayMember=thisentry.mainOrderNumber
CBOrderNumber.ValueMember=thisentry.mainOrderNumber
下一个
同样,他们的任何好的免费sql到linq工具都比他们的linquer好,但这就像60英镑一样。问题是,他们比较的是返回的整个对象,而不仅仅是订单号

如果您只需要订单号,更改此行可以达到以下目的:

Dim OrderNos = (From r 
                In Orders.R3Delivery 
                Where r.mainOrderNumber <> "" 
                Select r.mainOrderNumber).Distinct().ToList()
Dim OrderNos=(来自r
按订单交货
其中r.mainOrderNumber“”
选择r.mainOrderNumber).Distinct().ToList()

如果您需要整个对象,那么它会变得更复杂。

我相信
DisplayMember
上已经回答了这个问题,
ValueMember
不应该是同一个字段。您也不应该在循环中设置它们-它们在每次迭代中都会被覆盖。
DisplayMember
ValueMember
可以是相同的。我同意他们不应该是一样的。