русский
Germany.ruForen → Архив Досок→ Programmierung

LINQом из DataTable по индексу?

13.11.22 11:43
LINQом из DataTable по индексу?
 
Murr патриот
Murr

Я так надеюсь,что все знают что такое индекс на таблице SQL-сервера, для чего нужен и как используется.

Считаем что с сервером все понятно.


Теперь переползаем на клиента - имеем те же данные что на сервере и эти данные достаточно "тяжелые".

Т.е. записи длинные, записей много и записи не сортированы.

Работа с данными (пока) традиционная - через DataTable - загрузили и ищем.

Чтобы не сильно мучатся - ищем LINQом.

Известно, что поиск будет многократный - т.е. любое ускорение - на пользу.


Отсюда два вопроса:

1. Как на DataTable повесить произвольный индекс?

Т.е. есть 150-200 полей и 3 из них мне нужны как индекс.

Про вариант проэмулировать индекс вторичным ключем - слепить вторую таблицу, дистинктнуть в нее эти поля, сделать их первичным ключем и определить реляцию - знаю, но не нравится - хочется именно индекс по таблице без головной боли с поддержанием синхронизации.


2. Как принудить LINQ использовать индекс (пусть и сурогатный) при выполнении поиска?

 

Sprung zu