2012-05-07 44 views
0
for (int i = 0; i < list.Count; i++) 
{ 
    var doesrequestExist = cxt.Friends.FirstOrDefault(u => (u.User_Id == incID) && 
     (u.Friend_UserId == (list.ElementAt(i).userid)) && 
     (u.Request_Status == 0 || u.Request_Status == 1)); 
    if (doesrequestExist != null) 
    { 
    } 

我在得到错误“list.ElementAt(ⅰ).userid” 错误: LINQ to Entities不识别方法'Int32 ToInt32(Int32)'方法,并且此方法不能转换为存储表达式。LINQ到实体无法识别方法“的Int32 ToInt32(的Int32)”方法,和这种方法不能被翻译成表达商店

编辑:

通过以上面的查询除去convert.toint32得到: LINQ实体无法识别方法“FriendsList的ElementAt [FriendsList](System.Collections.Generic.IEnumerable`1 [FR_Network.FR_Network + FriendsList],Int32)'方法,并且此方法不能转换为商店表达式。

+0

是你想转换使用Convert.ToInt32的整数? – freebird

回答

1

从你的linq中排除Convert.ToInt32(list.ElementAt(i).userid))。

for (int i = 0; i < list.Count; i++) 
{ 
    int friendId = Convert.ToInt32(list.ElementAt(i).userid); 
    var doesrequestExist = cxt.Friends.FirstOrDefault(u => (u.User_Id == incID) && 
                  (u.Friend_UserId == friendId && 
                  (u.Request_Status == 0 || u.Request_Status == 1)); 

    if (doesrequestExist != null) 
    { 
    } 
} 
+1

LINQ to Entities不识别方法'FriendsList ElementAt [FriendsList](System.Collections.Generic.IEnumerable'1 [FR_Network.FR_Network + FriendsList],Int32)'方法,并且此方法不能转换为存储表达式。 – user1237131

+0

谢谢我得到解决方案采取一个varieable并在语句前分配list.element(i).userid的值。 – user1237131

相关问题