나는 아래의 Linq To SQL 메서드를 사용합니다. 내가 코드 spcCodeIDs
을 빠져 나올 때 내가 기대하고있는 7 가지 항목이 들어 있습니다. 그러나 내가 놓친 게 무엇Linq에서 .Contains를 사용하는 SQL 메서드가 실패합니다.
Method 'Boolean Contains(System.String)' has no supported translation to SQL.
의 런타임 예외가? SQL에
public static DataTable GetSPCCodeList()
{
using (var context = ProviderDataContext.Create())
{
IQueryable<tblProviderAdminSPCCode> tSPCCode = context.GetTable<tblProviderAdminSPCCode>();
IList<string> spcCodeIDs = BLLCmo.FCApprovedSPCsForGreenSheet();
return (tSPCCode
.Where(spcCode => spcCode.Inactive == null && spcCodeIDs.Contains(spcCode.SPCCodeID))
.OrderBy(spcCode => spcCode.SPCCodeID)
.Select(spcCode => new { spcCode.SPCCodeID, spcCode.SPCDescription, spcCode.SPCCategoryID }))
.CopyLinqToDataTable();
}
}
굉장, 고마워. 난 몰랐어. –
@ 팔라딘 퇴장! 처음에는별로 의미가 없지만 한계에 익숙해졌습니다. –