У меня есть пять столбцов Cc1, Cc2, Cc3 ... И у меня есть следующий оператор switch в «Any» для проверки в столбцах, основанных на ccLevel, но таблица test1 имеет 32 миллиона строк, и это занимает вечнополучить их, есть ли лучший способ сделать это быстрее?
if (_db.Test1.Any(x => CCLevels(x, ccLevel) == cCValue.CcCode))
{
some Message...
}
if (_db.Test2.Any(x => CCLevels(x, ccLevel) == cCValue.CcCode))
{
some Message...
}
private string CCLevels<T>(T x, string ccLevel) where T : IccLevels
{
string level = null;
switch (ccLevel)
{
case "1":
level = x.Cc1;
break;
case "2":
level = x.Cc2;
break;
case "3":
level = x.Cc3;
break;
case "4":
level = x.Cc4;
break;
case "5":
level = x.Cc5;
break;
}
return level;
}
Когда я делаю это, как показано ниже, это занимает секунду,
if (_db.Test1.Any(x => x.Cc1 == cCValue.CcCode))
{
some Message...
}
if (_db.Test1.Any(x => x.Cc2 == cCValue.CcCode))
{
some Message...
}