3 回答

TA貢獻(xiàn)1839條經(jīng)驗 獲得超15個贊
==
區(qū)分大小寫。
如果要比較兩個字符串不區(qū)分大小寫,則應(yīng)該使用String.Equals
接受 a的重載StringComparison
:
var?users?=?_identityDb.Users ????????????????.Where(u?=>?u.UserName ????????????????????????????????.Equals(user.UserName,?StringComparison.OrdinalIgnoreCase);

TA貢獻(xiàn)1875條經(jīng)驗 獲得超5個贊
顯然每個人User
都有財產(chǎn)UserName
??上烁嬖V我們房產(chǎn)的類型。由于標(biāo)識符的名稱以及與字符串的比較,我假設(shè)它UserName
是一個字符串。
如果UserName
已經(jīng)是一個字符串,為什么還要比較它UserName.ToString()
?
以下命令返回用戶 DbSet 中值為UserName
、 等于 的所有用戶UserName.ToString
:
var users = _identityDb.Users.Where(u => u.UserName == u.UserName.ToString());
因為UserName
是一個字符串,UserName.ToString()
所以永遠(yuǎn)等于UserName
。在這種情況下,查詢將返回所有Users
.
現(xiàn)在你似乎有了一個user
class對象User
。我們不知道這是否user
是User
您收藏的_identityDb.Users
。
以下將返回_identityDb.Users
UserName 等于的所有用戶user.UserName
var users = _identityDb.Users.Where(u => u.UserName == user.UserName);
如果user
在里面_identityDb.Users
你肯定會找到至少一個User
有這個名字的,甚至可能不止一個。如果您仍然找不到,請嘗試通過鍵入用戶名進(jìn)行調(diào)試:
string userName = user.UserName; var users = _identityDb.Users.Where(u => u.UserName == userName);
最后一種可能性:可能UserName
不是字符串,或者您定義了自己的ToString()
. 如果您省略了此信息,那么我的建議是花一些時間學(xué)習(xí)如何正確提問。
- 3 回答
- 0 關(guān)注
- 169 瀏覽
添加回答
舉報