나는 키 이름으로 열 이름을 포함하는 사전 Dictionary<string, List<string>> FilterDictionary
을 가지고 있으며 그 키의 값은 where 절로 사용될 기준 목록입니다.Linq to sql multiple columns
내 데이터베이스를 쿼리해야하고 사전에있는 각 열에 대해 해당 키 목록의 조건과 해당 열을 쿼리해야합니다.
이 작업을 수행하는 가장 좋은 방법은 무엇일까요?
이것은 내가 달성하고 싶지만 명백하게는 columnName == filterCriteria
처럼 단순하지 않다는 것을 알고 있습니다.
var originalQuery = from p in productContext.Products
select p;
foreach (var item in FilterDictionary)
{
string columnName = item.Key;
foreach (var filterCriteria in FilterDictionary)
{
originalQuery.Where(columnName == filterCriteria);
}
}
'Expression>'컬렉션을 사용하지 않거나 사용할 수없는 이유가 있습니까? –
Yuck
단순히 ive가 이전에 그렇게하지 않았기 때문입니다. 그게 가장 좋은 길이라고 말할 수 있겠 니? – lnelson92
나는 그렇게 말하고 싶다. 내 대답을 보라. 이런 식으로 강력한 타이핑 및 컴파일 타임 안전성을 얻을 수 있습니다. 또한 필터 조건을 작성하는 동안 IntelliSense를 사용할 수 있습니다. – Yuck