2013-10-14 2 views

Répondre

2

De l'changeset lié à cet élément de travail, vous verrez que le GuidColumnDefault ne repose pas sur les paramètres, mais renvoie simplement la valeur par défaut en fonction du type de fournisseur

en regardant cette link, il semblerait que vous pouvez définir manuellement dans vos migrations bien:

// Excerpt from migration in link above: 
public override void Up() 
{ 
    CreateTable(
     "dbo.Items", 
     c => new 
      { 
       Id = c.Guid(nullable: false, 
        identity: true, 
        // You would use newid() instead. 
        defaultValueSql: "newsequentialid()"), 
      }) 
     .PrimaryKey(t => t.Id);  
} 
+0

Si cela est possible dans une migration, ne le ModelBuilder (OnModelCreating) possi Bly fournir des fonctionnalités similaires? – Alex

+0

Malheureusement, ce n'est pas très probable. Il s'agit davantage d'une question de migration, car le modèle concerne les relations entre entités et non les problèmes de type de base de données. Tout ce qui est du côté du modèle doit être générique pour tout fournisseur de base de données potentiel afin de vous permettre de passer à un autre de manière transparente. Il peut y avoir d'autres hooks que je ne connais pas, mais ils n'existent probablement pas dans 'ModelBuilder'. – Ocelot20

+0

C'est vraiment décevant. Les utilisateurs utilisent des GUID non séquentiels tout le temps car ils ne peuvent pas être devinables, ils ne s'inquiètent pas des problèmes de conflit lors de la jonction des tables, etc. - cela aurait dû être au moins un paramètre dans EF6 au lieu d'un changement forcé. – Alex

Questions connexes