Ответ почти наверняка будет "да".В зависимости от нескольких вещей, вам, возможно, придется изменить очень мало (или не менять) код, или вам, возможно, придется изменить много.
Первое соображение - это ваш код SQL.Если вы были очень осторожны при написании ANSI-совместимого SQL и не использовали ни одного из встроенных представлений SQL Server или функций, специфичных для T-SQL, вам, возможно, вообще не придется переписывать много кода.В действительности вам, вероятно, придется хотя бы написать несколько.В частности, хотя ядро SQL Server предназначено для обработки нескольких одновременных сеансов и запросов, SQLite - нет: вам нужно тщательно управлять своей программой, чтобы гарантировать, что никакие два потока не попытаются получить доступ к базе данных SQLite одновременно.
Второе соображение заключается в том, как ваше приложение вызывает базу данных.Опять же, в зависимости от вашего дизайна, вам может понадобиться переписать почти без кода, или вам может потребоваться переписать много.В моих приложениях C # я создаю интерфейс для поставщиков баз данных, который определяет общие функции (выбор, удаление, вставка и т. Д.).Затем я создаю простые классы-оболочки для разных СУБД, которые реализуют интерфейс.Когда мне нужно переключить базы данных, я просто создаю экземпляр и использую другой класс.Если у вас есть подобная настройка проекта, вам просто нужно создать новый класс для SQLite, который реализует интерфейс вашей базы данных и создать его экземпляр вместо класса SQL Server.Если вы написали много специфического кода C # для SQL Server в своей бизнес-логике, возможно, вам придется много писать.