C#LINQ到字典

C#LINQ到字典,c#,C#,我有一组LINQ结果,如下所示: var dictionaryHere = db.tbl_user_pass_list .Where(e => e.Usage1 == "Domain Administrator"); 这将返回许多属性,其中我需要AdminUsername、AdminPassword和Company 我已为此设置了一个类: public class AdminUsernamePassword { public string AdminUsername

我有一组LINQ结果,如下所示:

var dictionaryHere = db.tbl_user_pass_list
      .Where(e => e.Usage1 == "Domain Administrator");
这将返回许多属性,其中我需要AdminUsername、AdminPassword和Company

我已为此设置了一个类:

public class AdminUsernamePassword
{
    public string AdminUsername { get; set; }
    public string AdminPassword { get; set; }
}
我要生成的是一个字典,其中键是company,值包含AdminUsername和AdminPassword。我已经做到了这一点:

 Dictionary<string, AdminUsernamePassword> dictionary = dictionaryHere.ToDictionary(o => o.Company,
Dictionary Dictionary=Dictionary here.ToDictionary(o=>o.Company,

我不知道如何完成此操作才能将另外两个值作为AdminUsernamePassword类型输入。非常感谢您的帮助!

您只需指定
KeyValuePair
值即可。您已经拥有密钥:

dictionaryHere.ToDictionary(o => o.Company, [...])
您只需创建

dictionaryHere.ToDictionary(o => o.Company, 
                            x => new AdminUserPassword 
                            { 
                              AdminUserName = x.UserName, 
                              AdminPassword = x.Password 
                            });

.ToDictionary(o=>o.Company,x=>newadminuserpassword(x.UserName,x.Password)
?我假设一个ctor带有
用户名
密码
,以保持简短。@germ应该是一个答案。@Magnus没错,我添加了它作为答案。由于它没有回答问题,所以我没有将它作为答案发布,但请确保管理员密码正确安全:在字典中加密它,不要解密它除非你真的需要它,否则不要放弃它。。