SQL 쿼리에 하나의 linq를 작성하고 사용자가 제공 한 입력 문자열을 기반으로 런타임에 선택할 테이블을 동적으로 선택하려고합니다. 지금은이 작업을 수행하는 선택 문이 있지만 동일한 쿼리를 세 번 반복합니다. 단, 선택한 테이블 만 다를 수 있습니다. 이런 식으로 :Linq to SQL : 런타임에 테이블을 동적으로 선택하십시오.
if (input == "94")
{
var query = from i in db.Table94
select new MyClass(i.A, i.B, i.C);
}
if (input == "95")
{
var query = from i in db.Table95
select new MyClass(i.A, i.B, i.C);
}
//more conditional queries
query = query.Where(addtionalFilteringDoneHere);
DataGridView.DataSource = query;
조건부 Where 절을 사용하기에 충분하지만 테이블 선택과 비슷한 것을 찾고 있습니다. 나는 두 가지 일에 지쳤으나 일하지 않았다. 예 :
var query = from i in FetchTable(input)
select new MyClass(i.A, i.B, i.C);
query = query.Where(addtionalFilteringDoneHere);
public returnType FetchTable(string input)
{
//need help here
return db.GetTable<conditionalTable>;
}
반환 유형이 무엇인지, 또는이를 수행 할 방법이 있는지 알 수 없습니다. 가능한가?
이 중 중복 된 항목은 무엇입니까? http://stackoverflow.com/questions/1919632/get-table-data-from-table-name-in-linq-datacontext –
이 예는 다소 오해의 소지가 있습니다. 두 질의 모두 끝에 예측이 있으므로, 두 경우 모두'IEnumerable '이 결과로 나타납니다. 표현식 유형이 항상 동일하면 필터를 적용하는 것이 분명한 작업입니다. –