【发布时间】:2011-09-19 09:19:20
【问题描述】:
在我的代码中,我有以下 Linq 查询:
IQueryable<Data> charts = (from report in ctx.Charts group report by new
{
Name = report.ChartTitle.ChartType.ChartCategory.CategoryName,
id = report.ChartTitle.ChartType.ChartCategory.ChartCategoryId,
Period = report.Period
} into d
select new Data
{
Name = d.Key.Name,
Id = d.Key.id,
Period = d.Key.Period,
Reports = from r in d group r by new
{ Title = r.ChartTitle.Name, id = r.ChartTitle.ChartTitleId } into rs
select new Report
{
Title = rs.Key.Title,
Id = rs.Key.id,
Charts = (from c in rs group c by new
{
ChartId = c.ChartId,
FiscalYear = c.FiscalYear,
ModifiedDate = c.ChartView.ModifiedDate,
Function = c.Function.DisplayName,
ChartData=c.ChartView.ViewData
} into cs
select new ChartInfo
{
ChartId = cs.Key.ChartId,
FiscalYear = cs.Key.FiscalYear,
ModifiedDate = cs.Key.ModifiedDate,
Function = cs.Key.Function,
ChartData=cs.Key.ChartData
})
}});
在上面的代码中,如果我排除了“ChartData”字段(属于 XML 数据类型),则查询执行良好。但是,当我包含此字段时,它会引发以下错误:“无法将 xml 数据类型选择为 DISTINCT,因为它不可比较。”
让我知道我在这里缺少什么?
【问题讨论】:
标签: linq linq-to-sql entity-framework-4 linq-to-entities