ฉันมีรายการดังนี้:
Red
Red
Brown
Yellow
Green
Green
Brown
Red
Orange
ฉันพยายามทำ SELECT UNIQUE ด้วย LINQ เช่นฉันต้องการ
Red
Brown
Yellow
Green
Orange
var uniqueColors = from dbo in database.MainTable
where dbo.Property == true
select dbo.Color.Name;
จากนั้นฉันก็เปลี่ยนสิ่งนี้เป็น
var uniqueColors = from dbo in database.MainTable
where dbo.Property == true
select dbo.Color.Name.Distinct();
โดยไม่ประสบความสำเร็จ ครั้งแรกselect
ได้รับสีทั้งหมดดังนั้นฉันจะแก้ไขเพื่อให้ได้ค่าที่ไม่ซ้ำกันได้อย่างไร
หากมีวิธีที่ดีกว่าในการจัดโครงสร้างแบบสอบถามนี้ยินดีที่จะไปตามเส้นทางนั้น
ฉันจะแก้ไขมันได้อย่างไรเพื่อให้ฉันมี.OrderBy( "column name" )
ชื่อสีตามตัวอักษรดังนั้นคุณสมบัติชื่อ
ฉันได้รับข้อความ:
อาร์กิวเมนต์ประเภทไม่สามารถอนุมานได้จากการใช้งาน ลองระบุประเภทอาร์กิวเมนต์อย่างชัดเจน
dbo.Color.Name
แล้วเพียงname=>name
ซึ่งคำแนะนำกับผมมันไม่ได้เป็นชื่อคอลัมน์? มันแปลกมากถ้าฉันเปลี่ยนเป็น.OrderBy(a=>a)