tôi có một danh sách như thế này:Làm cách nào tôi có thể thực hiện SELECT UNIQUE với LINQ?
Red
Red
Brown
Yellow
Green
Green
Brown
Red
Orange
Tôi cố gắng để làm một SELECT UNIQUE với LINQ, tức là tôi muốn
Red
Brown
Yellow
Green
Orange
var uniqueColors = from dbo in database.MainTable
where dbo.Property == true
select dbo.Color.Name;
sau đó tôi đã thay đổi này để
var uniqueColors = from dbo in database.MainTable
where dbo.Property == true
select dbo.Color.Name.Distinct();
với không thành công. Đầu tiên select
được TẤT CẢ các màu sắc, vậy làm thế nào để tôi sửa đổi nó để chỉ nhận được các giá trị duy nhất?
Nếu có cách tốt hơn để cấu trúc truy vấn này, vui lòng thực hiện tuyến đường đó.
Tôi làm cách nào để chỉnh sửa nó để tôi có thể có .OrderBy ("tên cột") tức là theo thứ tự bảng chữ cái theo tên màu, vậy nên tên thuộc tính?
tôi tiếp tục nhận được một tin nhắn:
Những lập luận kiểu không thể được suy ra từ việc sử dụng. Thử xác định rõ các đối số kiểu.
Cảm ơn, đây là câu trả lời đúng. Ai đó có thể vui lòng giải thích những gì diễn ra trong tham số .OrderBy(). Bạn có tên => tên. Tên đó có xuất phát từ tên cột trong DB không? Bởi vì chúng ta có 'dbo.Color.Name' rồi chỉ cần' name => name' gợi ý cho tôi nó không phải là tên cột? Kỳ lạ nó cũng sắp xếp đúng nếu tôi chỉ thay đổi thành '.OrderBy (a => a)' – baron
Tên của biến không liên quan. Nó chỉ {object được truyền vào hàm} => {object được sử dụng để sắp xếp}. Vì chúng ta đã chọn xong, thứ duy nhất trong bộ sưu tập đang được sắp xếp là tên. –
Cảm ơn @JamesCurran, giải pháp của bạn đã giúp tôi rất nhiều. – Ron