1
我正在使用此代碼在ClientAccountAccess表中創建一條記錄。但是在任何時候只能有一個記錄在這張表中。所以如果這個函數被調用,我首先要檢查一個記錄是否存在,如果它刪除它然後添加新記錄。如果記錄存在刪除它?
private static void SetAccessCode(string guidCode)
{
using (EPOSEntities db = new EPOSEntities())
{
//so here would I say something like (see below)
ClientAccountAccess client = new ClientAccountAccess();
client.GUID = guidCode;
db.AddToClientAccountAccesses(client);
db.SaveChanges();
}
}
//
ClientAccountAccess clientAccessCodes = db.ClientAccountAccesses
.OrderByDescending(x => x.Id)
.Take(1)
.Single();
if clientAccessCodes.exists()
db.DeleteObject(clientAccessCodes);
db.SaveChanges();
問題是什麼? (btw,小心:你已經創建了一個競賽條件) –
你不能更新記錄嗎? –
似乎這些事件需要作爲一個單一的工作單元來執行。如果是這樣的話,你應該在每件事物上包裝一個'TransactionScope'。 –