Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

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

13.11.22 21:47
Re: LINQом из DataTable по индексу?
 
  simplename постоялец
в ответ Murr 13.11.22 11:43
1. Как на DataTable повесить произвольный индекс?Т.е. есть 150-200 полей и 3 из них мне нужны как индекс.Про вариант проэмулировать индекс вторичным ключем - слепить вторую таблицу, дистинктнуть в нее эти поля, сделать их первичным ключем и определить реляцию - знаю, но не нравится - хочется именно индекс по таблице без головной боли с поддержанием синхронизации.

зачем? новые таблицы вы создавать не желаете, значит остается выбирать записи из ВСЕХ (не пропустить бы чего).

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

элементарно, уоттсон! постройте правильно ваш запрос, и linq его исполнит с высокой точностью.
шукаємо записи, где пропертиз id0: ID0, id1: ID1, id2: ID2
var q = from rec in records where rec.id0 == ID0 && rec.id1 == ID1 && rec.id2 == ID2 select rec; (или что вам оттуда нужно выбрать).
или я чего-то недопонл.


нужно, мне кажется, прежде всего между двумя вариантами выбрать: мы согласны что-нибудь заморочить один раз, чтобы потом раз! и достал что надо!

, или не согласны, но тогда мы не можем исключить просмотра при каждом запросе всей таблицы. LINQ'ом, или кем-либо еще. при чем здесь "суррогантый иднеск"?

 

Перейти на