Saya punya daftar seperti ini:
Red
Red
Brown
Yellow
Green
Green
Brown
Red
Orange
Saya mencoba melakukan SELECT UNIQUE dengan LINQ, yaitu yang saya inginkan
Red
Brown
Yellow
Green
Orange
var uniqueColors = from dbo in database.MainTable
where dbo.Property == true
select dbo.Color.Name;
Saya kemudian mengubahnya menjadi
var uniqueColors = from dbo in database.MainTable
where dbo.Property == true
select dbo.Color.Name.Distinct();
tanpa hasil. Yang pertama select
mendapatkan SEMUA warna, jadi bagaimana cara memodifikasinya agar hanya mendapatkan nilai unik?
Jika ada cara yang lebih baik untuk menyusun kueri ini, lebih dari senang untuk pergi ke rute itu.
Bagaimana cara mengeditnya sehingga saya dapat memiliki .OrderBy( "column name" )
yaitu menurut abjad berdasarkan nama warna, jadi nama properti?
Saya terus mendapatkan pesan:
Argumen tipe tidak dapat disimpulkan dari penggunaan. Coba tentukan argumen tipe secara eksplisit.
dbo.Color.Name
kemudian hanyaname=>name
yang petunjuk kepada saya itu bukan nama kolom? Anehnya juga menyortir dengan benar jika saya mengubahnya menjadi.OrderBy(a=>a)
sumber
Dengan menggunakan sintaks pemahaman kueri, Anda dapat mencapai orderby sebagai berikut:
sumber