2010-07-06 73 views

回答

12

問題解決:EF 4無法從edmx設計器生成時間戳列。 解決方案很簡單:

  1. 將類型設置爲二進制。
  2. 將可爲空設置爲false。
  3. 將StoreGeneratedPattern設置爲Computed。
  4. 將ConcurrencyMode設置爲Fixed。
  5. 創建一個SSDLToSQL10.tt(通常位於C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ Extensions \ Microsoft \ Entity Framework Tools \ DBGen)的副本。我們稱之爲MySSDLToSQL10.tt。
  6. 編輯線(目前151),其表示:

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

  • 它更改爲:
  • [<#= ID(prop.Name)#>] <的#if(字符串。比較(prop.Name,「TimeStamp」,true)== 0){#> timestamp <#} else {#> <#= prop.ToStoreType()#> <#= WriteIdentity(prop,targetVersion )#> <#= WriteNullable(prop.Nullable)#> <#=(p < entitySet.ElementType.Properties.Count - 1)? 「,」:「」#>

    +1

    這是EF5更新還是這仍然準確? – kayluhb 2012-11-02 17:48:34

    +0

    @kayluhb在EF 5中,它不是完全固定的,但更容易。只需將該屬性的併發模式更改爲Fixed。 – Alireza 2013-08-22 12:31:56