2010-07-06 19 views

Respuesta

12

el problema resuelto: EF 4 could'n generan columnas timestamp de diseñador edmx. La solución es fácil:

  1. Establezca el tipo a binario.
  2. Establecer como anulable en falso.
  3. Establezca StoreGeneratedPattern en Computado.
  4. Establezca ConcurrencyMode en Fixed.
  5. crear una copia de SSDLToSQL10.tt (que normalmente se encuentra en C: \ Archivos de programa (x86) \ Microsoft Visual Studio 10.0 \ Tools Common7 \ IDE \ extensiones \ Microsoft \ Entity Framework \ DBGen). Vamos a llamarlo MySSDLToSQL10.tt.
  6. Editar la línea (actualmente 151) que dice:

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

  1. Cambiar a:

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

+1

¿Se ha actualizado esto en EF5 o sigue siendo preciso? – kayluhb

+0

@kayluhb En EF 5 no está completamente arreglado, pero es mucho más fácil. Simplemente cambie el modo de concurrencia de la propiedad a Fijo. – Alireza

Cuestiones relacionadas