실행할 데이터베이스 쿼리 목록이있는 응용 프로그램이 있습니다. 같은SqlQuery for unknown (컴파일시) 유형
var results = _db.Contacts.SqlQuery(sQuery);
과 :
내가 좋아하는 뭔가를 그 수를 알고var results = _db.Database.SqlQuery<Contacts>(sQuery);
하지만 내 상황에서
, 나는 메타 데이터 만 일하고 있어요. 어떻게 이런 식으로 뭔가를 할 수 있습니다string sBaseType = "Contacts";
var results = _db.Database.SqlQuery<sBaseType>(sQuery);
내가 <object>
에 어느 정도 성공했다 ... 그것은 모두 내가가 예상 행,하지만하지 매우 유용한 형태를 반환했습니다. 다양한 동적 쿼리를 처리하는 가장 좋은 방법은 무엇입니까?
if (sBaseType == "Contacts") {
var results = _db.Contacts.SqlQuery(sQuery);
} else if (sBaseType == "Buildings") {
var results = _db.Buildings.SqlQuery(sQuery);
} else if (sBaseType == "Rooms") {
var results = _db.Rooms.SqlQuery(sQuery);
} else if (sBaseType == "Equipment") {
var results = _db.Equipment.SqlQuery(sQuery);
}
I 돈 : 나는처럼 보이는 구성을 피할 수 있도록
var results = _db.Database[sBaseType].SqlQuery(sQuery);
: -
편집 은 내가 찾을 희망하고있어 오히려이 같은 몇 가지 메커니즘입니다 특별히 멋진 것을 필요로하지 않습니다 ... 나는 단지 100 개 이상의 요소 if-elseif 블록을 저장하는 것을 희망합니다 ...
방금 거대한 if-elseif 구문을 작성하는 것보다 쉽지 않은 것처럼 보입니다. 위의 '내가 찾고자하는 바'에 대한 편집을 참조하십시오. – reidLinden
'쉬운 것'이 아닙니다. 이것은 (a) 귀하의 문제를 해결하고 (b) 공개 원칙을 위반하지 않는 것을 의미합니다. 이 솔루션은 두 가지 모두를 수행합니다. –
고맙습니다. 당신의 대답이 내 머리 위에 조금있다는 것을 인정합니다 : D – reidLinden