le problème résolu: EF 4 pourrait générer des colonnes d'horodatage à partir d'edmx designer. La solution est simple:
- Définissez le type sur binaire.
- Définir nullable à false.
- Définissez StoreGeneratedPattern sur Computed.
- Définir ConcurrencyMode sur Fixed.
- 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.
- Modifier la ligne (actuellement 151) qui dit:
[< # = Id (prop.Name) #>] < # = prop.ToStoreType() #> < # = WriteIdentity (prop, targetVersion) #> < # = WriteNullable (prop.Nullable) #> < # = (p < entitySet.ElementType.Properties.Count - 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)? ",": "" #>
Est-ce que ceci a été mis à jour dans EF5 ou est-ce toujours exact? – kayluhb
@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