以下是代码:
Public Function GetUniqueLocation() As List(Of LoginUser)
Return db.LoginUsers.Select(Function(p) p.LocID).Distinct().ToList()
End Function
这是代码错误!
Value of type 'System.Collections.Generic.List(Of Integer?)' cannot be converted to 'System.Collections.Generic.List(Of LoginUser)
答案 0 :(得分:1)
错误消息很容易准备好:您尝试从声明为List(Of Integer)
的方法返回List(Of LoginUser)
。它无法发挥作用。
好像你试图为每个LoginUser
属性值获得一个LocID
。但不是那样,你只是返回属性值的disting集合itselve。
不使用Distinct
,而是使用GroupBy
和First
:
Public Function GetUniqueLocation() As List(Of LoginUser)
Return db.LoginUsersGroupBy(Function(p) p.LocID).Select(Function(g) g.First()).ToList()
End Function
或者,如果您真的想要返回整数,请将您的方法声明更改为List(Of Integer)
多个返回类型:
Public Function GetUniqueLocation() As List(Of Integer)
Return db.LoginUsers.Select(Function(p) p.LocID).Distinct().ToList()
End Function