2010-08-27 2 views
1

J'ai un projet de création avec WPF et pour la base de données O/RM en utilisant LINQ to SQL, quand je finis mon projet certaines personnes veulent utiliser MySQL comme base de données, puis-je changer mon Linq à MySQL sans modifier le code source (peut-être juste changer la chaîne de connexion)Peut LINQ To SQL utilisé pour une autre base de données (MySQL, Oracle, etc)

Cordialement

+0

N'oubliez pas de marquer votre réponse préférée. – Steven

Répondre

2

non, vous ne pouvez pas. LINQ to SQL en tant qu'outil O/RM est développé * uniquement pour une utilisation avec une base de données SQL Server et Microsoft et non ajoutera un support multi-bases de données dans le futur. Lorsque vous voulez cela et que vous avez besoin de la prise en charge de LINQ, vous seriez mieux avec Microsoft Entity Framework.


** L'équipe C# a effectivement conçu LINQ to SQL comme multi base de données. Vous pouvez toujours voir cette conception lorsque vous regardez l'assemblage System.Data.Linq dans Reflector. Pour «certaines» raisons cependant (lire: marketing) Microsoft a décidé de ne pas autoriser le support multi-base de données sur LINQ to SQL. Le modèle de fournisseur utilisé par LINQ to SQL a été internalisé. En théorie, il est toujours possible de créer un fournisseur alternatif pour d'autres bases de données lorsque votre application fonctionne en toute confiance. c'est si dur et douloureux de le faire, que je n'ai jamais vu personne même l'essayer. Comme je l'ai dit, lorsque la prise en charge de plusieurs fournisseurs est une exigence pour votre application, vous devez utiliser un outil O/RM spécialement conçu pour cela. *