C# EF核心:独特且有序的奇怪行为
我将旧项目迁移到新的EF Core,发现了这个问题 我的旧代码:C# EF核心:独特且有序的奇怪行为,c#,entity-framework,C#,Entity Framework,我将旧项目迁移到新的EF Core,发现了这个问题 我的旧代码: private IQueryable<SeriesData> GetSeriesData(IQueryable<Series> query, long? userId = null) { DateTime date = DateTime.Today.AddMonths(1); IQueryable<SeriesData> seriesDataQuery = query.Sele
private IQueryable<SeriesData> GetSeriesData(IQueryable<Series> query, long? userId = null)
{
DateTime date = DateTime.Today.AddMonths(1);
IQueryable<SeriesData> seriesDataQuery = query.Select(x => new SeriesData
{
Series = x,
Subscribed = userId.HasValue && x.Subscriptions.Any(y => y.UserId == userId),
CurrentSeasonNumber = x.Episodes.Where(z => z.ReleaseDate.HasValue && z.ReleaseDate < date).Max(y => y.SeasonNumber),
Channel = x.Channel,
Country = x.Channel.Country,
ReleaseGroups =
x.Episodes.SelectMany(z => z.Releases)
.Select(y => y.ReleaseGroup)
.Distinct() // 1
.OrderBy(y => y.Name) // 2
.Select(r => new ReleaseGroupData
{
ReleaseGroup = r,
Subscribed =
userId.HasValue &&
x.Subscriptions.Any(y => y.UserId == userId && y.ReleaseGroupId == r.Id)
}).ToList()
});
return seriesDataQuery;
}
private IQueryable GetSeriesData(IQueryable查询,long?userId=null)
{
DateTime日期=DateTime.Today.AddMonths(1);
IQueryable seriesDataQuery=query.Select(x=>newseriesdata
{
系列=x,
Subscribed=userId.HasValue&&x.Subscriptions.Any(y=>y.userId==userId),
CurrentSeasonNumber=x.scents.Where(z=>z.ReleaseDate.HasValue&&z.ReleaseDatey.SeasonNumber),
通道=x.通道,
国家=x.Channel.Country,
释放组=
x、 剧集。选择多集(z=>z.Releases)
.选择(y=>y.ReleaseGroup)
.Distinct()//1
.OrderBy(y=>y.Name)//2
.选择(r=>new ReleaseGroupData
{
ReleaseGroup=r,
订阅=
userId.HasValue&&
x、 Subscriptions.Any(y=>y.UserId==UserId&&y.ReleaseGroupId==r.Id)
})托利斯先生()
});
返回序列数据查询;
}
当我执行这个查询时,我得到“InvalidOperationException:Sequence包含多个元素”异常
但是如果我交换第1行和第2行,一切都会正常。我看不出任何情况下,更改distinct和orderby的顺序会触发异常。在我看来,您似乎发现了一个bug,应该将其发布到他们的support forumsI上。我看不出任何情况下,更改distinct和orderby的顺序会触发异常。听起来你发现了一个bug,应该把它发布在他们的支持论坛上