我試圖通過使用電子郵件過濾在combobox
中顯示電子郵件。我的問題是我的數據在users表中被加密。LINQ to Entities無法識別方法'System.String Decrypt(System.String,System.String)'方法
當我試圖解密它,它給這個錯誤:
LINQ to Entities does not recognize the method 'System.String Decrypt(System.String, System.String)' method, and this method cannot be translated into a store expression
我怎樣才能解決這個問題?
這裏是我的Lookup類
public class Lookup
{
public long boundvalue { get; set; }
public string boundtext { get; set; }
}
這裏是我的代碼過濾
public IEnumerable<Lookup> getUser(string fText)
{
var ret = new List<Lookup>
{
new Lookup
{
boundvalue = 0,
boundtext = ""
}
};
if (!string.IsNullOrEmpty(fText))
{
ret.AddRange(_entities.Users.Where(x =>EncDec.Decrypt(x.UserVar01.Trim().Replace("_",string.Empty),
Enums.EncDecSecKeyToString(Enums.EncDecSecKey.Email)).Contains(fText.Trim()))
.Select(select => new Lookup
{
boundvalue = select.UserID,
boundtext = EncDec.Decrypt(select.UserVar01.Trim().Replace("_", string.Empty),
Enums.EncDecSecKeyToString(Enums.EncDecSecKey.Email)),
}));
}
return ret;
}
未使用過'String.Encrypt'和'String.Decrypt'。但是在查詢之前加密*'fText'而不是*解密*'x.UserVar01'呢? –