2010-05-22 5 views
2

J'essaie de me familiariser un peu plus avec la programmation de base de données, et j'examine différentes façons de créer une couche d'accès aux données pour les applications. J'ai essayé quelques moyens mais il y a une telle jungle de technologies de bases de données différentes que je ne sais pas quoi apprendre. Par exemple, j'ai essayé d'utiliser des ensembles de données avec tableadapters. En utilisant ce que je suis capable de changer de fournisseur de données plutôt facilement (en programmant contre les interfaces telles que IDbConnection). C'est une chose que je voudrais réaliser. Mais je sais aussi que tout le monde parle de LINQ, et j'essaie d'apprendre à le connaître un peu mieux aussi. J'ai donc essayé d'utiliser les classes Linq to Sql comme couche d'accès aux données, mais apparemment ce n'est pas indépendant du fournisseur (fonctionne uniquement pour SQL Server). Alors je lis à propos de l'Entity Framework (qui, comme Linq to SQL a apparemment déjà eu sa part de bashing ...). C'est supposé être indépendant du fournisseur, tout le monde dit, mais comment? J'ai essayé un tutoriel pour créer un modèle de données d'entité, mais les seuls fournisseurs à choisir étaient SQL Server/Express. Juste pour apprendre, je voudrais savoir comment utiliser le framework d'entité avec MS Access/OleDb.Comment utiliser différents fournisseurs pour Linq aux entités?

En outre, j'apprécierais une entrée sur quelle est la technologie de base de données préférée pour l'accès aux données. S'agit-il encore de LINQ après tout le dénigrement, ou devriez-vous simplement utiliser des ensembles de données parce qu'ils sont indépendants du fournisseur? Tout pointeur sur ce qu'il faut apprendre serait génial, car c'est tout simplement trop pour tout apprendre si je ne vais pas l'utiliser à la fin ...!

Répondre

2

les seuls fournisseurs à choisir étaient SQL Server/EXPRES

Le .NET Framework ne comprend que les fournisseurs de EF pour SQL Server et SQL Server Compact. Si vous devez accéder à un autre SGBD, vous devez installer un fournisseur tiers. Par exemple, il y a un provider for SQLite gratuit, avec le soutien du concepteur. Il y a aussi quelques (commerciaux) providers made by Devart, pour divers SGBD. Pour autant que je sache, il n'y a pas de fournisseurs EF pour OleDB ou ODBC ...

+0

Merci. Je vais me pencher là-dessus, et essayer avec une autre base de données, peut-être MySQL. – Anders

+0

La dernière version du connecteur MySQL officiel prend en charge l'Entity Framework, au moins partiellement ... –

+0

A droite, mais voir mon commentaire à Christian ci-dessous, pour que cela fonctionne, le connecteur doit être installé sur l'hébergeur pour que je puisse l'utiliser là-bas, non? Si oui, ils ne le font pas ... – Anders

1

J'aime vraiment la métaphore de Scott Hanselman: "Je ne suis pas un plombier, mais je sais ce qu'est un S-Bend." Personnellement, je pense que vous devriez avoir une connaissance pratique de toutes les façons d'accéder aux données.

ADO.Net, EF, Linq2Sql, txt, xml, etc etc etc

Jetez un oeil à la Nerd Dinner et les Music Store échantillons. Voir la façon dont ils accèdent aux données (comment font-ils les tests unitaires, cadre Mocking, IOC etc)

En ce qui concerne les fournisseurs de données, personnellement, je voudrais éviter l'accès. Il est tout aussi facile d'exécuter une installation Sql Express ou Mysql et elle a l'air mieux sur votre CV.

(Pour ce que ça vaut, ce question discute la mise en place de MySQL pour EF.)

+0

Merci, oui j'essaie de maîtriser autant de technologies que possible, mais avec le rythme du développement c'est dur de suivre, donc j'ai besoin d'être un peu sélectif pour rester au moins sain d'esprit :-). J'utilise SQL Server Express, mais comme je voulais essayer de changer de fournisseur, j'avais aussi besoin d'autre chose. Mon hébergeur permet votre propre accès ms. J'ai aussi accès à MySQL sur l'hébergeur, mais ils n'ont pas le connecteur/net pour MySql, seulement un odbc 3.51. Je suppose qu'ils ont besoin de l'autre installé sur l'hébergeur pour que l'EF fonctionne? – Anders

Questions connexes