【发布时间】:2026-01-04 23:35:01
【问题描述】:
我在 SQL Server 中有一个这样的表:
用户:
int ID PK Identity
nvarchar(50) Username
nvarchar(50) Password
我将校验和字符串存储在Password 列中,并使用此方法对密码进行哈希处理并将它们存储在我的表中
现在我想像这样在 EF 中使用这个表;
User = DBContext.Users.SingleOrDefault(rec => rec.Username == Request["U"] && rec.Password == Request["P"]);
但是因为我将校验和值存储在我的表中,所以我必须更改 Request["P"] 才能在 EF 中使用它
对不起,我是英语新手,你知道我在说什么吗? (我希望我能清楚地解释我的问题:()
UPDATE1:如果我有这样的查询:
Select * from Users where username = @p1 and password = checksum(@p2)
我如何转换 @p2 以使用这样的查询:
Select * from Users where username = @p1 and password = @p2 --Checksum omitted
【问题讨论】:
-
@marc_s,谢谢老兄,你帮了我
-
您指的是这个 CHECKSUM:msdn.microsoft.com/en-us/library/ms189788.aspx?
-
@Dennis,是的,我们在 sql server 中使用的校验和 :),看看 UPDATE1
-
您是否在 EF 中使用 Code First 方法?
-
@Dennis,不,我使用的是数据库优先方法,伙计
标签: c# sql-server entity-framework checksum