1

誰かがこのコードをlinqに変換できますか?

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

linqステートメントを使用してユーザーを認証したいと思います。

ユーザーパスワードはSQLpwdencrypt関数を使用して生成されます

4

1 に答える 1

2

あなたがする必要があるのはPWDCOMPAREあなたのデータベースでUDFをラップし、そしてあなたのを介してその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);
于 2012-04-11T09:58:53.363 に答える