我想在实体框架中找到distinct记录。我的代码如下

var distinctYear = _objCalRepos
    .GetDetails()
    .Select(o => new CalendarList { Mdate = o.Mdate.Year.ToString() })
    .Distinct()
    .ToList();

ddlYear.DataSource = distinctYear;
ddlYear.DataTextField = "Mdate";
ddlYear.DataValueField = "Mdate";
ddlYear.DataBind();


在这里,Distinct不起作用。它将返回所有条目(重复)。

最佳答案

Distinct无法正常工作,可能是因为CalendarList不具有可比性。
尝试这个:

var distinctYear = _objCalRepos
    .GetDetails()
    .Select(o => o.Mdate.Year.ToString())
    .Distinct()
    .AsEnumerable()
    .Select(o => new CalendarList { Mdate = o }))
    .ToList();

08-28 12:02