Лучший индекс зависит от содержания таблицы и что Вы пытаетесь выполнить.
Взятый пример членская база данных с Первичным ключом членского социального обеспечения Numnber. Мы выбираем S.S., потому что основное приложение относится к человеку таким образом, но Вы также хотите создать поисковую функцию, которая использует членское имя и фамилию. Я тогда предложил бы создать индекс по тем двум полям.
необходимо сначала узнать, какие данные Вы будете запрашивать и затем делать определение, которых данных Вам нужно индексированный.
L2S отлично работает с компактным фреймворком. Однако вы не можете использовать конструктор перетаскивания. Вам нужно будет самостоятельно запустить SQLMetal.exe, чтобы сгенерировать для вас классы.
SQLMetal.exe : http://msdn.microsoft.com/en-us/library/bb386987.aspx
Пример с Northwind compact : http://blogs.msdn.com/sqlservercompact/archive/2007/08/21/linq-with-sql-server-compact-a-ka-dlinq-over -sql-ce.aspx
Другой пример с большим количеством изображений : http://pietschsoft.com/post/2009/01/Using-LINQ-to-SQL-with-SQL-Server -Compact-Edition.aspx
Вы можете использовать постоянные объекты DevExpress (XPO) на компактной платформе. Я использовал его раньше, но обнаружил, что он несколько медленный для моей цели (приложение для сбора данных).
Причина, по которой вы не можете найти большую часть этого на компактной платформе, заключается в том, что скорость обычно так важна для приложений устройств, что данные код доступа обычно вводится вручную.
Я не знаю, можно ли создавать объекты из уже существующей базы данных с помощью XPO.
This is one good option generating from dbml file plain POCO classes working with LINQ 2 SQL. Not tested yet but seems promised.
Я смог изменить SubSonic 3.0 , порт db4o / Mainsoft для System.Linq.Expressions из проекта Mono после добавления отсутствующих источников Queryable и IQToolkit Мэтта Уоррена на Codeplex, чтобы предоставить эквивалент L2S на CF.
Это примерно то, что нужно, однако, поскольку деревья выражений Linq не поддерживаются в .Net CF 3.5.
Я смог использовать DbEntityProvider / DbEntitySession и AttributeMapping / XMLMapping, импортированные в Subsonic из IQToolkit, чтобы обеспечить лучшую поддержку преобразования сущностей и таблиц в классы.