1
我正在構建EF代碼第一個將在Oracle後端和MS SQL Server後端之間使用的POCO。我遇到了一個問題,找到正確的方法來解決在任一數據庫後端工作的Timestamp屬性。Oracle與T-SQL之間的實體框架中的樂觀併發性
MS SQL服務器要我用這樣一個共同的屬性:
[Timestamp]
public byte[] Timestamp {get;set;}
然後在流利的映射它看起來像這樣
map.Property(p => p.Timestamp).IsRowVersion();
但是甲骨文將不得不改變我的共同屬性類型爲:
public int Timestamp {get;set;}
然後在流暢的映射它看起來像這
map.Property(p => p.Timestamp).HasColumnName("ORA_ROWSCN").HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed).IsConcurrencyToken();
所以我的第一個猜測是,也許我可以在數據類型更改爲長,因爲時間戳是八個字節,但SqlServer的不喜歡的映射。
我的下一個猜測是放棄Timestamp和Ora_RowScn並組成我自己的樂觀併發屬性。任何建議或知道是否有一種方法可以在Sql和Oracle之間使用快樂模型?謝謝。