EF4 linq组项目索引



我有以下ER模型:

条目:Id, UserId, ....事实:Id, EntryId, GroupId, DataType, DataValue…

我对EF4数据上下文有以下linq查询:

var linq = 
 from entry in DataContext.Entry
 where entry.UserId== User.Identity.UserId
 from fact in entry.Facts
 group fact by new { fact.Entry, fact.GroupId } into g
 select g;

我想给每个组分配一个索引,像这样:

linq = linq.Select((Group,Index) => new {Group, Index})

但是我得到System.NotSupportedException。还有其他的方法来实现这个目标吗?

我不想诉诸linq对象(例如通过调用linq = linq.ToList()),因为我在代码中进一步扩展查询,并希望它在1 sql命令中执行。

Linq to EF不能使用行索引(不支持select with indexes)。

var query = // your grouping query;
var linq = query.AsEnumerable().Select((Group,Index) => new {Group, Index});

Linq-to-entities内部支持行索引,只有当你在有序查询中使用Take()Skip()方法时,你仍然不能在查询中使用行索引。

相关内容

  • 没有找到相关文章