1. 程式人生 > >添加編輯 時 數據不可重復驗證

添加編輯 時 數據不可重復驗證

list() () 導致 else all 簡單 nbsp pan 是否

  • 當在添加的時候,要判斷某一個字段值是唯一的,這個很簡單,只需在添加前判斷數據庫中是否已存在此數據值

  • 但是在編輯的時候就遇到了問題,如果按照添加時的驗證,當沒有改變要編輯的數據時,此時是無法保存的,因為數據庫裏已經有了一個了,這是不合理的,這就導致如果只改其他可以重復的數據那麽此時也無法修改。

    解決方式:因為編輯的時候肯定是有 Id 的數據的 ,因此判斷方式為:

    判斷 滿足此 Id 的數據值後 如果還有 滿足此字段的值(不能重復),此時的數量 = 2,那麽此時修改後的數據數據在數據庫中已經存在了

可參考:下面代碼是驗證:name 和 superiorid 兩個字段是不可重復的驗證

    if (id == 0)
            {
                return _dc.GetAll().Where(p => p.Name == name && p.SuperiorId == superiorid).ToList().Any(); //添加驗證
            }
            else
            {
                return _dc.GetAll().Where(p => p.Id == id || (p.Name == name && p.SuperiorId == superiorid)).ToList().Count() == 2
; }

添加編輯 時 數據不可重復驗證