2012-05-07 46 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

相關問題