부울 표현식을 데이터베이스에 저장하고 평가하려고합니다. 완전한 표현식 트리를 저장할 필요는 없습니다. 아마도 문자열이 그것을 할 것입니다. 예를 들어 Criteria (expression_to_evaluate, value_to_return)
문자열로 저장된 표현식 평가
,의 내가 20, 40 사이에 나이가 사람과 일치하는 표현이 있다고 가정 해 봅시다 :로 대체되어야 할 것이다
(var >= 20 AND var <= 40)
var
을
((var >= 20 AND var <= 40) OR (var < 10))
:
과 같은 더 복잡한 표현이있을 수 ((var1 <= 10) AND (var2 >= 10 OR var1 == 20))
이 는 SQL (SQL 서버 2005/2008) 또는 C#을 하나에서 수행해야합니다. 일치하는 행의 값을 반환하고 C#에서 처리해야합니다.
이것도 가능합니까?
경고 : Sql이 경고를주지 않고 유해한 항목을 실행하기 때문에 저장하기 전에 식을 유효화해야합니다. –
나는 그걸 생각해 봤는데 어떤 종류의 검증이 필요하다. 그러나 그것을 지적 해 주셔서 감사합니다. –