-1

コードは次のとおりです。

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)
4

1 に答える 1

1

List(Of Integer)エラー メッセージの準備は非常に簡単です。次のように宣言されたメソッドから戻ろうとしていますList(Of LoginUser)。それがうまくいく方法はありません。

プロパティ値LoginUserごとに1つ取得しようとしているようです。LocIDしかし、その代わりに、プロパティ値自体の disting セットを返すだけです。

を使用する代わりに、 と をDistinct使用GroupByFirstます。

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
于 2013-11-04T20:41:00.083 に答える