0
我有一種方法來驗證我的用戶,但即使我在我的表中有記錄,它也會返回user = null
。爲什麼這個Linq返回null?
public bool AuthenticateUser(string username, string password)
{
var user = GetSingleRow(c => c.Email.Equals(username) && c.Password.Equals(password) && IsActive);
if(user !=null && user.Id > 0)
{
// my statements
}
}
類&方法實現:
public partial class UserAccount :IRepository<UserAccount>
{
private static readonly MeriRanchiDataContext Context;
public UserAccount GetSingleRow(Func<UserAccount, bool> criteria)
{
return Context.UserAccounts.Where(criteria).SingleOrDefault();
//tried this also: return Context.UserAccounts.SingleOrDefault(criteria);
}
}
你真的在你的數據庫中有明文密碼嗎?另外,你是否知道,因爲你使用委託而不是表達式樹,這將會獲取所有用戶帳戶並在本地應用謂詞? –
我在我的數據庫中存儲純文本密碼。 –
@JonSkeet「」另外,你是否知道,因爲你使用委託而不是表達式樹,這將獲取所有用戶帳戶並在本地應用謂詞?「」這是使用謂詞的錯誤方法嗎? –