2010-07-06 3 views

Répondre

12

le problème résolu: EF 4 pourrait générer des colonnes d'horodatage à partir d'edmx designer. La solution est simple:

  1. Définissez le type sur binaire.
  2. Définir nullable à false.
  3. Définissez StoreGeneratedPattern sur Computed.
  4. Définir ConcurrencyMode sur Fixed.
  5. Créez une copie de SSDLToSQL10.tt (généralement trouvé dans C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ Extensions \ Microsoft \ Entity Framework Tools \ DBGen). Appelons-le MySSDLToSQL10.tt.
  6. Modifier la ligne (actuellement 151) qui dit:

[< # = Id (prop.Name) #>] < # = prop.ToStoreType() #> < # = WriteIdentity (prop, targetVersion) #> < # = WriteNullable (prop.Nullable) #> < # = (p < entitySet.ElementType.Properties.Count - 1)? "": "" #>

  1. Modifier à:

[< # = Id (prop.Name) #>] < #if (string. Compare (prop.Name, "TimeStamp", true) == 0) {#> horodatage < #} else {#> < # = prop.ToStoreType() #> < #} #> < # = WriteIdentity (prop, targetVersion) #> < # = WriteNullable (prop.Nullable) #> < # = (p < entitySet.ElementType.Properties.Count - 1)? ",": "" #>

+1

Est-ce que ceci a été mis à jour dans EF5 ou est-ce toujours exact? – kayluhb

+0

@kayluhb Dans EF 5, il n'est pas complètement fixé mais beaucoup plus facile. Changez simplement le mode de concurrence de la propriété à Fixe. – Alireza

Questions connexes