9

I got a problem with EF 4.0 I creating entity with "timestamp" column. After that, I try to generate database.

In SQL script column looks like 'binary(8)' instead of timestamp.

How to solve it ?

1 Answer 1

12

the problem solved: EF 4 could'n generate timestamp columns from edmx designer. The solution is easy:

  1. Set the type to binary.
  2. Set nullable to false.
  3. Set StoreGeneratedPattern to Computed.
  4. Set ConcurrencyMode to Fixed.
  5. Create a copy of SSDLToSQL10.tt (typically found in C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\DBGen). Let's call it MySSDLToSQL10.tt.
  6. Edit the line (currently 151) that says:

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

  1. Change it to:

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

Sign up to request clarification or add additional context in comments.

1 Comment

@kayluhb In EF 5 it is not completely fixed but a lot easier. Just change the concurrency mode of the property to Fixed.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.