Вы можете использовать var
только для встроенной инициализации, но это не так.Вам нужно было бы ввести ID
соответствующим образом, и, поскольку var
имеет одиночный тип , который будет работать, только если Tablo1
, Tablo2
и Tablo3
имеют одинаковый тип (что маловероятно).
Что вам нужно сделать здесь?
Там - это сценарий, который работает здесь;когда выбирает общий тип из каждого;давайте предположим, что у всех есть первичный ключ int
:
IQueryable<int> ids;
switch(ItemTypeNo)
{
case ItemType.A : ids= from s in cntx.Tablo1 select s.Id; break;
case ItemType.B : ids= from s in cntx.Tablo2 select s.Id; break;
case ItemType.C : ids= from s in cntx.Tablo3 select s.Id; break;
default: throw new InvalidOperationException();
}
Однако в общем случае ... не так много.Вы можете ввести ID
в качестве не универсального IQueryable
, но, честно говоря, это не позволяет вам делать очень много интересных вещей.И dynamic
не очень хорошо играет с LINQ (и даже если бы он это сделал, это было бы хаком здесь).