Entity Framework 개체에 대해 LINQ 쿼리가 생성되었습니다. 검색어 요약은 다음과 같습니다.LINQ to Entity : "선택"부분에 Contains를 사용하면 예기치 않은 오류가 발생합니다.
//a list of my allies
List<int> allianceMembers = new List<int>() { 1,5,10 };
//query for fleets in my area, including any allies (and mark them as such)
var fleets = from af in FleetSource
select new Fleet
{
fleetID = af.fleetID,
fleetName = af.fleetName,
isAllied = (allianceMembers.Contains(af.userID) ? true : false)
};
기본적으로 내가하고있는 일은 일련의 차량을 얻는 것입니다. alliance 회원 목록에는 나와 동맹 관계에있는 모든 사용자의 INT가 포함됩니다. 함대의 소유자가 목록에 포함되어 있으면 isAllied = true를 설정하고 그렇지 않으면 false로 설정하려고합니다. 나는이 (가)에 포함되어 사용했다면 나는이 오류가 이해할 수
"엔티티에 LINQ는 방법 '부울이 포함 (INT32)'방법을 인식하지 않습니다"
내가 이렇게
, 나는 예외를보고 있어요 쿼리의 어디 부분,하지만 왜 내가 선택에서 그것을 얻을까요? 이 시점까지는 쿼리가 실행되어 결과를 반환했다고 가정합니다. 이 작은 코드는 내 데이터를 전혀 제약하지 않습니다.내가 isAllied 플래그를 설정하는 데 필요한 것을 어떻게 달성 할 수 있는지에 대한 정보를 얻으시겠습니까?
감사
다음 Contain 엔티티 프레임 워크에서 'Contains' *가 지원됩니다. –