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(i).userid”处收到错误错误:LINQ to Entities 无法识别方法 'Int32 ToInt32(Int32)' 方法,并且此方法无法转换为存储表达式。

编辑:

通过删除上述查询中的 convert.toint32 得到:LINQ to Entities 无法识别方法 'FriendsList ElementAt[FriendsList](System.Collections.Generic.IEnumerable`1[FR_Network.FR_Network+FriendsList], Int32)' 方法,以及这个方法不能翻译成存储表达式。

4

1 回答 1

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)
    {
    }
}
于 2012-05-07T11:33:04.843 回答