Je construis des premiers POCO EF Code qui seront utilisés entre une back-end Oracle et un backend MS SQL Server. J'ai un problème pour trouver la bonne façon de s'attaquer à une propriété Timestamp qui fonctionne sur l'une ou l'autre des bases de données.Concurrence optimiste dans Entity Framework entre Oracle et T-SQL
MS SQL Server aurait-moi d'utiliser une propriété commune comme ceci:
[Timestamp]
public byte[] Timestamp {get;set;}
Et puis dans la cartographie fluent il ressemblerait à ceci
map.Property(p => p.Timestamp).IsRowVersion();
Cependant Oracle aurait me changer ma commune type de propriété à ce:
public int Timestamp {get;set;}
Et puis dans la cartographie fluide, il ressemblerait ce
map.Property(p => p.Timestamp).HasColumnName("ORA_ROWSCN").HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed).IsConcurrencyToken();
Ma première estimation était peut-être je pourrais changer le type de données à long, car l'horodatage est de huit octets, mais SqlServer n'a pas aimé la cartographie. Ma prochaine proposition est d'abandonner Timestamp et Ora_RowScn et de créer ma propre propriété Optimistic Concurrency. Des suggestions ou savoir si un moyen d'avoir un bon modèle qui fonctionne à la fois entre Sql et Oracle? Merci.