J'ai une application qui communique avec une base de données SQL Server. Cette application utilise LinqToSQL.Convertir le code LinqToSQL existant pour être compatible avec d'autres bases de données
Pour un certain nombre de raisons, je veux convertir cette application en utilisant Microsoft Access à la place. (C'est un petit ensemble de données, l'utilisation simultanée est possible mais rare, je veux déployer sur des machines qui n'ont pas accès à SQL Server, et je veux être capable d'envoyer toute la base de données comme un fichier à utiliser par collègues qui ont seulement Microsoft Access).
Comment devrais-je procéder à la conversion de l'application? Comme LinqToSQL n'est fourni que pour SQL Server, je pense que je suis confronté à un problème rencontré occasionnellement par d'autres développeurs; par exemple pour expédier une application SQL Server à un nouveau site qui utilise Oracle. La seule stratégie que je peux penser est de rechercher le code pour chaque utilisation de LinqToSQL et le changer en utilisant ADO.NET. Évidemment, ce sera une tâche longue et sujette aux erreurs.
Y a-t-il un meilleur moyen, ou devrais-je juste serrer les dents et continuer?
Un bout de code est ci-dessous, juste au cas où un exemple aide la conversation:
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();