我有以下Linq查询:
bool exists = db.Users.Any(i => string.Compare(md5.ComputeHash(Encoding.ASCII.GetBytes(string.Concat(i.password, i.username))).ToString(), toCheck) == 0);
我有以下错误:
Method 'Byte[] GetBytes(System.String)' has no supported translation to SQL.
答案 0 :(得分:0)
使用" AsEnumerable"扩展方法将强制"用户"的内容要返回到应用程序的表,其中计算表达式的其余部分。这避免了仅使用SQL Server中也支持的.net函数的需要。
bool exists =
db
.Users
.Select(
user =>
new
{
user.password,
user.username
})
.AsEnumerable()
.Any(i => string.Compare(md5.ComputeHash(Encoding.ASCII.GetBytes(string.Concat(i.password, i.username))).ToString(), toCheck) == 0);