У меня есть работающее приложение, которое связывается с базой данных SQL Server.
Это приложение использует LinqToSQL.
По ряду причин я хочу преобразовать это приложение в использование Microsoft Access. (Это небольшой набор данных, одновременное использование возможно, но редко, я хочу развернуть на компьютерах, которые не имеют доступа к SQL Server, и я хочу иметь возможность отправлять всю базу данных как один файл для использования коллеги, у которых есть только Microsoft Access).
Как мне конвертировать приложение? Поскольку LinqToSQL предоставляется только для SQL Server, я подозреваю, что столкнулся с проблемой, с которой иногда сталкиваются другие разработчики; например, чтобы отправить приложение SQL Server на новый сайт, который использует Oracle.
Единственная стратегия, которую я могу придумать, - это искать код для каждого использования LinqToSQL и менять его на ADO.NET. Очевидно, что это будет трудоемкой и подверженной ошибкам задачей.
Есть ли лучший способ, или я должен просто стиснуть зубы и покончить с этим?
Ниже приведен фрагмент кода, на случай, если пример поможет разговору:
var existing =
from ph in _dataContext.pub_hols
where ph.pub_hol_def_id == this._publicHolidayDefId
&&
ph.pub_hol_date.Year == year
select ph;
_dataContext.pub_hols.DeleteAllOnSubmit(existing);
_dataContext.pub_hols.InsertAllOnSubmit(GetPublicHolidays(cellsForYear));
_dataContext.SubmitChanges();