2012-04-11 5 views
1

내가 다음 쿼리로 변환 될 코드를 작성하려고 해요 : MS-SQL과 내가 사용 linq2sql와BLToolkit을 사용하여 ID 목록별로 객체 목록을 가져 오는 방법은 무엇입니까?

SELECT * FROM players WHERE Id IN (xxx) 

를 "포함"건설하고 잘했다. 다음과 같은 오류 반환

public static IList<Player> GetPlayersByIds(IList<int> ids, DbManager db) 
    { 
     return db.GetTable<Player>().Where(pl => ids.Contains(pl.Id)).ToList(); 
    } 

하지만이 코드의 실행 : 이것에 대한 어떤 해결책이

value(vfm_elita.elita_table.player.Player+<>c__DisplayClass13).ids.Contains(pl.Id)' cannot be converted to SQL.

있습니까

이제

(MySQL과 BLToolkit에 대한) 나는 이런 식으로 했습니까?

아니요, 그렇다면 ID 목록으로 개체 목록을 쿼리하려면 어떻게해야합니까?

대단히 감사합니다. 어떤 의견이든 환영합니다. 또한 사용할 수 있습니다

답변

0

와 그것을 시도이다. 4.1 (그 linq2sql 변환기를 완전히 다시 작성했습니다) 얻은 후 문제가 해결되었습니다.

0

파일을 확인 BLToolkit에 포함 .. \ UnitTests이 Linq에 \ Functions.cs가 사용하는 일부 단위 테스트에 대한 BLToolkit 소스에 이

내가 (테스트없이) 문제라고 생각 포함 \ 당신과 함께 현재의 코드는 IList의 의 사용은 단지 목록 나는 버그가 BLToolkit의 세 버전을했다처럼 보이는

public static IList<Player> GetPlayersByIds(List<int> ids, DbManager db) 
{ 
    return db.GetTable<Player>().Where(pl => ids.Contains(pl.Id)).ToList(); 
} 
+0

실제로 실행될 때 목록 개체 유형이 있지만 도움을 주셔서 감사합니다. – Budda

관련 문제