我有一個DB,它的所有實體都有一些用於創建/修改/刪除的日誌字段,並且我必須在我的所有CRUD操作中採用當前用戶標識,並將這些字段設置爲安全目的....如何在C#中的倉庫中設置一些實體屬性?
這是我的實體的例子:
//log properties
public byte RecordStatus { get; set; }
public string RecordStatusDescription { get; set; }
public string CreatedBy { get; set; }
public DateTime CreatedDateTime { get; set; }
public string CreatorIPAddress { get; set; }
public string ModifiedBy { get; set; }
public DateTime ModifiedDateTime { get; set; }
public string ModifierIPAddress { get; set; }
public string RemovedBy { get; set; }
public string RemovedDateTime { get; set; }
public string RemoverIPAddress { get; set; }
public bool IsRemoved { get; set; }
我使用存儲庫,我想這樣的事情添加到我的IRepository接口:
public interface IBaseRepository<TEntity> where TEntity : class
{
void Createdby(string UserId , string userIP);
void ModifiedBy(string UserId , string userIP);
void RemovedBy(string UserID , string userIP);
}
所以我怎麼能在我的資源庫實現這一點,然後在我的行動中使用它!?
我可以設置傳統的方式這個領域,但我希望有更多的清潔動作...
我應該在所有的[Entity] Repository中定義這些嗎!我只是不想在20多個[Entity] Repository中複製這些方法! –
我知道Repository是用於與DB直接交互但是!你建議我應該爲這些操作定義單獨的類並在其中定義這些方法!或者只是使用傳統的設置屬性的方式!你會選擇什麼方法來解決這個問題!? –
結帳答案,如果您有任何問題告訴我:) – Valkyrie