Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在join中调用另一个函数_C#_Linq - Fatal编程技术网

C# 如何在join中调用另一个函数

C# 如何在join中调用另一个函数,c#,linq,C#,Linq,我编写了一个简单的LINQ连接,如下所示: private string DecriptPassword(String Passwrd) { // Here I am doing some decryption code } var x = from n in db.emp where n.id==10 join dept on n.deptId == dept.deptId select new deptemptab

我编写了一个简单的LINQ连接,如下所示:

private string DecriptPassword(String Passwrd)
{
    // Here I am doing some decryption code
}

var x = from n in db.emp
       where n.id==10
       join dept on n.deptId == dept.deptId
       select new deptemptab
                  {
                      FirtstName=n.empname,
                      LastName=n.LastName,
                      Password=DecriptPassword(n.password) // Here I need to decrypt my pwd.
                  }

请帮帮我。如何在运行时解密密码?

您无法将该方法转换为Linq to sql。所以你应该先得到这个值

之后,您可以在整个列表中循环来描述它们

var x = (from n in db.emp
        join dept on n.deptId == dept.deptId
        where n.id == 10
        select new deptemptab
        {

            FirtstName = n.empname,
            LastName = n.LastName,
            Password = n.password
        }).ToList();
x.ForEach(p => p.Password = DecriptPassword(Password));

首先,除非你有很好的理由,否则你根本不能解密你的密码。请参阅。您的代码中有什么不起作用?请描述预期和实际行为。添加任何可能有用的异常或编译器消息。如果可以解密密码,则必须立即更改代码的工作方式,使其从现在起无法实现。它们被散列有很好的理由。如果可能,您应该在核心中使用相同的哈希算法,并保持哈希不变。