添加編輯 時 數據不可重復驗證
阿新 • • 發佈:2019-02-27
list() () 導致 else all 簡單 nbsp pan 是否
-
當在添加的時候,要判斷某一個字段值是唯一的,這個很簡單,只需在添加前判斷數據庫中是否已存在此數據值
-
但是在編輯的時候就遇到了問題,如果按照添加時的驗證,當沒有改變要編輯的數據時,此時是無法保存的,因為數據庫裏已經有了一個了,這是不合理的,這就導致如果只改其他可以重復的數據那麽此時也無法修改。
解決方式:因為編輯的時候肯定是有 Id 的數據的 ,因此判斷方式為:
判斷 滿足此 Id
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; }
添加編輯 時 數據不可重復驗證