3 回答

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

TA貢獻(xiàn)1951條經(jīng)驗(yàn) 獲得超3個(gè)贊
問(wèn)題是因?yàn)槲沂褂昧四撤N加密方法。所以SQLServer無(wú)法處理它。我剛剛刪除了用戶名列上的加密。
- 3 回答
- 0 關(guān)注
- 188 瀏覽
添加回答
舉報(bào)