我想知道是否可以使用我在LINQ中创建的方法?
var usr = db.Utilisateurs.FirstOrDefault(u => u.Login == user.Login && CreateASCIIMD5Hash(u.password) == user.password);
Run Code Online (Sandbox Code Playgroud)
但我有一个错误:
LINQ to Entities无法识别方法System.String CreateASCIIMD5Hash(System.String)方法,并且此方法无法转换为存储表达式.
切换查询,将输入密码哈希,然后再将其发送到数据库:
var hash = CreateASCIIMD5Hash(user.password);
var usr = db.Utilisateurs
.FirstOrDefault(u => u.Login == user.Login &&
u.password == hash);
Run Code Online (Sandbox Code Playgroud)
旁注:哈希函数的名称意味着你使用了一种糟糕且不安全的哈希方法......