Mango и System.Data

#sql #sql-server-ce #windows-phone-7 #system.data

#sql #sql-server-ce #windows-phone-7 #system.data

Вопрос:

Я экспериментировал с новыми библиотеками данных Mango (System.Data.Linq), но я никогда раньше не использовал Linq для SQL, и весь мой существующий код написан для SQLite с ADO.NET . Есть ли какой-либо способ (через ссылку на Silverlight DLL или иным образом), чтобы я мог просто написать SQL самостоятельно или я вынужден использовать Linq, если я хочу использовать SQL Server CE?

Ответ №1:

Единственный способ использовать SQL Server CE на Windows Phone 7 — через Linq.
Теперь есть способ использовать SQL, который вы пишете сами.

Комментарии:

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

2. @Peter причиной для этого было бы, если бы вы использовали одну и ту же базу данных на нескольких платформах. Была бы очень веская причина не делать это по-разному на разных платформах, если бы вам не нужно было.

3. Точно, я использую этот код в WPF и ASP.NET также. В то время как я могу переключить SqlConnection на SQLiteConnection и SqlDataReader на SqLiteDataReader и т.д. И Легко поддерживать всю платформу в актуальном состоянии, ORM, такой как Linq, устраняет это. Я решил перейти с недавним обновлением к сообществу. Вместо этого CsharpSqlite.

4. Я понимаю твою точку зрения, Мэтт, но с каких это пор SQL стал одинаковым на всех платформах? У Jet, MSSQL и Oracle есть различия, даже не заставляйте меня начинать манипулировать строками или датами. Вы могли бы придерживаться базового ANSI SQL, но если вы настаиваете на одинаковости, то получите лишь хромоту.

5. @Peter на мобильных платформах вы обычно используете очень малую часть мощности, которую могут предоставить все варианты SQL, и выполняете только простые операции CRUD с простыми типами данных. Очень часто sqlite используется на мобильных устройствах, и это работает на разных платформах. Проблемы с попыткой поддержки Jet, ODBC, ADO.Net Oracle и т.д., Которые вы получаете на вариантах «настольного» или «серверного» оборудования, Не так актуальны на мобильных устройствах.