Entity Framework timestamp Generate Database issue
开发者_运维知识库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 ?
the problem solved: EF 4 could'n generate timestamp columns from edmx designer. The solution is easy:
- Set the type to binary.
- Set nullable to false.
- Set StoreGeneratedPattern to Computed.
- Set ConcurrencyMode to Fixed.
- 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.
- Edit the line (currently 151) that says:
[<#=Id(prop.Name)#>] <#=prop.ToStoreType()#> <#=WriteIdentity(prop, targetVersion)#> <#=WriteNullable(prop.Nullable)#><#=(p < entitySet.ElementType.Properties.Count - 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) ? "," : ""#>
精彩评论