我正在使用Linq查询和调用方法.
oPwd = objDecryptor.DecryptIt((c.Password.ToString())
Run Code Online (Sandbox Code Playgroud)
它将返回null值.
意味着这不起作用.
我如何解决这个问题.
谢谢..
var q =
from s in db.User
join c in db.EmailAccount on s.UserId equals c.UserId
join d in db.POPSettings
on c.PopSettingId equals d.POPSettingsId
where s.UserId == UserId && c.EmailId == EmailId
select new
{
oUserId = s.UserId,
oUserName = s.Name,
oEmailId = c.EmailId,
oEmailAccId = c.EmailAccId,
oPwd = objDecryptor.DecryptIt(c.Password.ToString()),
oServerName = d.ServerName,
oServerAdd = d.ServerAddress,
oPOPSettingId = d.POPSettingsId,
};
Run Code Online (Sandbox Code Playgroud)
Mar*_*ell 11
如果是LINQ-to-SQL或Entity Framework.您需要将其分解为步骤(因为它无法在数据库中执行).例如:
var q = from s in db.User
join c in db.EmailAccount on s.UserId equals c.UserId
join d in db.POPSettings on c.PopSettingId equals d.POPSettingsId
where s.UserId == UserId && c.EmailId == EmailId
select new
{
oUserId = s.UserId,
oUserName = s.Name,
oEmailId = c.EmailId,
oEmailAccId = c.EmailAccId,
oPwd = c.Password,
oServerName = d.ServerName,
oServerAdd = d.ServerAddress,
oPOPSettingId = d.POPSettingsId,
};
Run Code Online (Sandbox Code Playgroud)
然后AsEnumerable()
用来打破后端商店的"组合":
var query2 = from row in q.AsEnumerable()
select new
{
row.oUserId,
row.oUserName,
row.oEmailId,
row.oEmailAccId,
oPwd = objDecryptor.DecryptIt(row.oPwd),
row.oServerName,
row.oServerAdd,
row.oPOPSettingId
};
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8934 次 |
最近记录: |