LINQ to Entities无法识别方法ElementAt [WebSecurity.CurrentUserId]

时间:2013-04-19 10:10:30

标签: linq-to-entities

@accounts.UserProfiles.ElementAt(item.AuthorID).ProfilePicture
  

LINQ to Entities无法识别该方法   “Collision.Models.UserProfile   ElementAt的[用户配置](System.Linq.IQueryable`1 [Collision.Models.UserProfile]   'int32)'方法,并且此方法无法转换为商店   表达

2 个答案:

答案 0 :(得分:1)

LINQ to Entities中不支持ElementAtElementAtOrDefault

您可以在MSDN上找到所有受支持方法的列表:Supported and Unsupported LINQ Methods (LINQ to Entities)

答案 1 :(得分:1)

ElementAt(x)ElementAtOrDefault(x) 支持:.NET 3.5.NET 4.5

但是,您可以使用

source.Skip(x).First() 

或分别

source.Skip(x).FirstOrDefault() 

取得类似的效果。

请注意Skip()要求对其来源进行排序(使用'OrderBy'子句)。