2010-03-09 24 views

Répondre

4

EF4 soutient quel que soit le serveur principal prend en charge:

  • colonnes IDENTITY ou colonnes GUID avec des valeurs par défaut (newid(), newsequentialid()) dans SQL Server
  • Sequences dans Oracle
  • tout autre mécanisme que la base de données cible peut fournir

EF4 lui-même n'a aucun support intégré pour les générateurs d'aucune sorte, pour autant que je sache.

Je ne suis pas sûr si faire la responsabilité de l'ORM est une bonne idée, très honnêtement. Cela devrait vraiment être laissé au magasin de backend à gérer, à mon avis.

Cependant, vous ne devriez avoir aucun problème à implémenter votre propre générateur d'ID personnalisé dans le code .NET, et le brancher dans EF4, si vous le souhaitez.

+2

J'apprécie l'information sur le fait que EF4 ne supporte pas les générateurs d'ID. Cependant -1 pour avoir masqué cette déficience avec une opinion non informée. En fait, la génération d'ID côté client est le seul moyen d'implémenter efficacement des systèmes déconnectés, distribués et/ou synchronisés. Le fait que le magasin de données génère des identifiants est souvent un point de sérialisation inutile et parfois impossible. – joshperry

+0

D'accord avec joshperry. De plus, la génération d'identifiants côté serveur rend impossible l'implémentation du traitement par lots. Avec le traitement par lots, les insertions massives via ORM peuvent être presque aussi rapides que le code ADO.NET pur. –