2008-10-30 3 views
57

У меня есть небольшой проект, требующий хранения (я выбираю SQLite), и я получил хороший результат с ADO DLL for .Net for Sqlite.LINQ with SQLite (linqtosql)

После установки я заметил, что он содержит SQLLinq.dll. Прежде чем расследовать слишком много усилий, и потому, что я не вижу никакого хорошего примера в Интернете, я хотел бы знать, есть ли у кого-нибудь хороший результат с SQLite и LINQ?

* Если linqtosql работает так же, как всегда, база данных SQL, сообщите мне об этом. Мне было интересно с Dll, когда я это увидел, потому что раньше я никогда не использовал Linqtosql, и я подумал, что это отличная возможность попробовать,

ответ

49

Я недавно обнаружил DBLinq, который поддерживает SQLite среди других БД:

3

Это не ответ на ваш вопрос как таковой, но в качестве альтернативы вы можете использовать SQL Compact:

http://www.microsoft.com/Sqlserver/2005/en/us/compact.aspx

Который имеет хорошую поддержку LINQ-to-SQL, и (несмотря на название) отлично подходит для настольных приложений с небольшими требованиями к хранению.

+1

+1 Я буду держать Sqlite, но вы узнаете что-то новое с Compact! – 2008-10-31 21:00:03

+0

У новой версии (2008) http://www.microsoft.com/sqlserver/2008/en/us/compact.aspx – 2011-01-14 13:30:56

+0

Спасибо за это - никогда раньше этого не встречал. – 2011-05-09 12:53:51

8

LINQ to SQL поддерживает только SQL Server/Compact, однако люди SQLite могут написать собственный поставщик LINQ с именем сборки.

Если это так, вы можете использовать синтаксис запроса LINQ, добавив ссылку на него, но не получите LINQ to SQL специфические функции, такие как атрибуты Металл/Колонка DataContext/designer/SQL/EntitySet/EntityRef и т.д.

+0

Хорошо для информации. Я буду отмечать вас как ответ, если к концу дня никто не получит лучшего ответа! +1 – 2008-10-30 16:31:55

10

От себя опыт, Microsoft SQL Compact Framework является REAL NO-GO. Это ДЕЙСТВИТЕЛЬНО FREAKING медленно, и его Query Analyzer просто очень беден. Мне пришлось попросить мою команду переписать весь код сантехники моего компонента Windows Mobile, чтобы избавиться от ужасных характеристик SQL CE.

4

Я знаю, что этот вопрос старый, но в настоящее время я думаю, что мы можем найти официальную реализацию поддержки SQLite для .NET здесь: http://system.data.sqlite.org/index.html/doc/trunk/www/index.wiki. Хорошая вводная статья должна быть найдена здесь: http://www.codeproject.com/Articles/236918/Using-SQLite-embedded-database-with-entity-framewo

0

Поскольку DBLinq больше не поддерживается, я продолжал поиски и нашел this answer, какой вид нечетко указывает на решение с использованием Linq для Sql, Entity Framework, и SQLite. blog post ссылки он немного устарел, но с некоторыми настройками я получил working example up на GitHub.

Он должен запустить OOTB в Visual Studio 2013. Он показывает добавление записи (со связанной записью в другую таблицу), изменение и удаление. Классы Artist и Album представляют записи в соответствующих таблицах (я полагаю, это часть Entity Framework). См. Readme для нескольких исправлений, на которые нужно следить.