我的Web API控制器有一個方法,用於從數據庫表中檢索指定數量的描述。有不同ID的重複描述,所以有時查詢會在使用SELECT TOP時返回重複項。我還添加了隨機(ORDER BY NEWID
)以減少獲得雙重球員的機會,但有時重複仍會返回。我想將查詢更改爲SELECT DISTINCT,但不知道如何在我的特定情況下執行此操作。在這裏使用First()似乎很複雜。誰能幫忙?我的方法是如下:將select distinct添加到linq查詢
public List<String> GetRandomDescriptions(string cat, string subcat, int n)
{
using (MyContext ctx = new MyContext())
{
var temp = ctx.Interactions.Where(d => (d.Category.Equals(cat) && d.Subcategory.Equals(subcat)))).OrderBy(d=>Guid.NewGuid()).Take(n).Select(d=>d.Description).ToList();
return temp;
}
}
這裏是我的類:
[Table("[Records]")]
public class Interaction
{
[Key, Column("RECORD_ID")]
public string DescId { get; set;}
public string Category { get; set; }
public string Subcategory { get; set; }
public string Description{get; set;}
}
「選擇不同的」 =='選擇(...)。鮮明的()' –
你只有n項想要什麼? –