2

我正在使用實體框架6和PostgreSQL。 我有一個實體,我想要防止併發問題,下面this documentation我添加了RowVersion屬性[Timestamp]屬性,但是在保存對實體的更改後,RowVersion列的值在數據庫中保持不變。PostgreSQL實體框架的RowVersion實現

[Timestamp] 
    public byte[] RowVersion { get; set; } 

我錯過了什麼或有其他的方式來處理PostgreSQL?

+0

我最終用ConcurrencyCheck裝飾器更改了字符串xmin屬性(特定於PostgreSQL)的RowVersion屬性。 –

+0

您可以發佈列定義嗎?你使用npgsql來創建模型嗎? thanx –

+0

我剛剛發佈了列定義作爲答案 –

回答

2
/// <summary> 
/// Meant to validate concurrency en database update 
/// This column is updates itself in database and only works in postgresql 
/// </summary> 
[ConcurrencyCheck] 
[DatabaseGenerated(DatabaseGeneratedOption.Computed)] 
//[NotMapped] 
public string xmin { get; set; } 

不得不添加[NotMapped]屬性僅用於不在遷移中添加的列,在數據庫更新後對其進行了註釋。

+0

謝謝。你是否在部分班上做這個?我在「數據庫第一」場景中 –

+0

我使用代碼第一個 不,不是在部分類中 –