2013-10-16 52 views
0

我有以下查詢:多對多Relationchip查詢

var users_t = context.Users.Select(x => 
    new { 
    Username = x.Username, 
    Roles = x.Roles.Select(y => y.Id).ToList() 
    } 
); 

,但我得到了以下錯誤:

LINQ到實體無法識別方法「System.Collections.Generic.List 1[System.Int32] ToList[Int32](System.Collections.Generic.IEnumerable 1 [System.Int32])'方法,並且此方法不能轉換爲商店表達式。

這能解決嗎?也許使用SelectMany?

請問有人能幫我嗎?

謝謝你,米蓋爾

+0

只要刪除.ToList() – gleng

回答

0

LINQ到實體應該能夠在您的表達式轉換爲SQL,而且也沒有SQL功能.ToList()。嘗試刪除.ToList()

var users_t = context.Users.Select(x => 
    new { 
    Username = x.Username, 
    Roles = x.Roles.Select(y => y.Id) 
    } 
);