有人可以将此代码转换为linq吗?
SELECT PWDCOMPARE('1', Password) FROM dbo.Users WHERE Username = 'Admin'
我想使用 linq 语句对用户进行身份验证。
用户密码是使用 sqlpwdencrypt
函数生成的
有人可以将此代码转换为linq吗?
SELECT PWDCOMPARE('1', Password) FROM dbo.Users WHERE Username = 'Admin'
我想使用 linq 语句对用户进行身份验证。
用户密码是使用 sqlpwdencrypt
函数生成的
您需要做的是PWDCOMPARE
在您的数据库中包装一个 UDF,然后通过您的DataContext
.
http://msdn.microsoft.com/en-us/library/bb399416.aspx
所以在你的数据库上运行它:
CREATE FUNCTION fn_PWDCOMPARE (@pwd NVARCHAR(MAX),@pwdhash NVARCHAR(MAX))
RETURNS BIT
BEGIN
RETURN PWDCOMPARE(@pwd, @pwdhash)
END
然后将它添加到你DataContext
在 Visual Studio 中并像这样调用它
var query =
from user in db.Users
where user.Username = "Admin"
select db.fn_PWDCOMPARE("1", user.Password);