은 내가식별자 대신 문자열 연결을 사용하여 linq 쿼리를 수행 할 수 있습니까?
var queryItems = rawQuery.ObsDataResultList.AsQueryable().Where("Name = @0 AND AuthoredDate = " + dateKey.ToString(), selectedItem).ToList();
주 내가 변경 한 유일한 식별자를 제거 고지 쿼리를 업데이트 할
var queryItems = rawQuery.ObsDataResultList.AsQueryable().Where("Name = @0 AND AuthoredDate = @1" +, selectedItem, dateKey).ToList();
잘 작동하는 쿼리가 있습니다. 이제 오류가 발생합니다.
Operator '=' '피연산자 유형'DateTime? '과 호환되지 않습니다. 및 'Int32'
어떻게 원래 쿼리로 되돌리지 않고 오류를 해결할 수 있습니까?
왜 그렇게하고 싶습니까?! 왜 고의로 좋은 쿼리를 망치고 싶습니까? –
@ MarkByers - 어디서 그런 진술의 목록을 가져 와서 구조체의 상수로 저장할 계획입니다. 구조체는 지원되는 쿼리에 대한 단일 참조 지점이 될 수 있습니다. 목록에있는 매개 변수를 사용하면 매개 변수의 수가 크게 달라질 수 있으므로 어렵습니다. 첫 번째 양식에 기술적 이점이 있습니까? E.G. 주입을 피하기 위해 params를 매개 변수화하는 것과 비슷한 것이 있습니까? –
@PBrianMackey : 예, 주사를 맞을 수 있습니다. 매개 변수 목록을 저장하는 것이 왜 어려운가요? –