在 mvc3 中使用 linq 时,我注意到了一些违规行为。
我有一个带有“PIN”列的数据库表。列必须有 28 个字符,并且可以存储完全随机的字符。然后我有一个控制器动作:
Function Unlock() As ActionResult
Dim key As String = Request("token")
If key IsNot Nothing Then
Dim user As Users = db.Users.SingleOrDefault(Function(u) u.PIN = key)
If user IsNot Nothing Then
user.PIN = Nothing
db.SaveChanges()
Return View()
End If
End If
Return RedirectToAction("Index", "Home", New With {.Area = ""})
End Function
例如,当 PIN 持有“Co/5c1mmil2e+clGK3c6JvdrGpQ=”键字符串时,会从查询字符串中读取完整的字符串,但用户引用始终没有结果,即使相同的值存储在数据库中。
另一方面,当 PIN 保持 "GbgI4QAaYWanaKWUm6j7Jg5IpA8=" 时,一切正常。所以我想也许 linq 有一些像 / 或 + 这样的字符的问题,但是如何解决这个问题呢?