将sql转换为linq查询以进行身份​​验证

时间:2012-04-11 09:44:51

标签: sql linq

有人可以将此代码转换为linq吗?

SELECT PWDCOMPARE('1', Password) FROM dbo.Users WHERE Username = 'Admin'

我想使用linq语句对用户进行身份验证。

使用sql pwdencrypt函数

生成用户密码

1 个答案:

答案 0 :(得分:2)

您需要做的是将PWDCOMPARE包装在数据库中的UDF中,然后通过DataContext调用该UDF。

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

然后将其添加到Visual Studio中的DataContext并将其称为

var query =
  from user in db.Users
  where user.Username = "Admin"
  select db.fn_PWDCOMPARE("1", user.Password);