C# 将对象添加到LINQ中的字典值?

C# 将对象添加到LINQ中的字典值?,c#,linq,entity-framework,dictionary,C#,Linq,Entity Framework,Dictionary,我得到了下一个密码: private Dictionary<int?, byte[]> GetAllLocalScanFiles() { using (DZine_IStylingEntities ctxLocal = new DZine_IStylingEntities()) { _scanDictionaryLocal = ctxLocal.tblScan .Select(s => new { s.MEMBER

我得到了下一个密码:

private Dictionary<int?, byte[]> GetAllLocalScanFiles()
{
    using (DZine_IStylingEntities ctxLocal = new DZine_IStylingEntities())
    {
        _scanDictionaryLocal = ctxLocal.tblScan
                .Select(s => new { s.MEMBERID, s.scanFileAvatar })
                .AsParallel()
                .ToDictionary(s => s.MEMBERID, s => s.scanFileAvatar);
    }
    return _scanDictionaryLocal;
}
是否可以为字典的值指定一个对象? PS我不想用查找来做这件事


提前谢谢

听起来你可能想要这样的东西:

_scanDictionaryLocal = ctxLocal.tblScan
    .ToDictionary(s => s.MEMBERID, s => new ScanClass() 
    { 
      ScanFileAvatar = s.scanFileAvatar,
      Hair = s.hair
    });
private Dictionary<int?, ScanClass> GetAllLocalScanFiles()
{
    using (DZine_IStylingEntities ctxLocal = new DZine_IStylingEntities())
    {
        return ctxLocal.tblScan
                 .Select(s => new { s.MEMBERID, s.scanFileAvatar, s.hair })
                 .AsParallel()
                 .ToDictionary(s => s.MEMBERID, s => new ScanClass {
                                   hair = s.hair,
                                   scanFileAvatar = s.scanFileAvatar
                               });
    }
}
private Dictionary GetAllLocalScanFiles()
{
使用(DZine_Istylingenties ctxLocal=新的DZine_Istylingenties())
{
返回ctxLocal.tblScan
.Select(s=>new{s.MEMBERID,s.scanFileAvatar,s.hair})
.天冬酰胺()
.ToDictionary(s=>s.MEMBERID,s=>new ScanClass{
头发,
scanFileAvatar=s.scanFileAvatar
});
}
}
假设在原始实体中有一个
hair
属性


不过,
AsParallel
是否真的能帮到你还不清楚。您可能需要考虑使用<代码> ASMeNeReable()< <代码> >,除非您有理由将其并行化。

< P>听起来您可能想要类似的东西:

private Dictionary<int?, ScanClass> GetAllLocalScanFiles()
{
    using (DZine_IStylingEntities ctxLocal = new DZine_IStylingEntities())
    {
        return ctxLocal.tblScan
                 .Select(s => new { s.MEMBERID, s.scanFileAvatar, s.hair })
                 .AsParallel()
                 .ToDictionary(s => s.MEMBERID, s => new ScanClass {
                                   hair = s.hair,
                                   scanFileAvatar = s.scanFileAvatar
                               });
    }
}
private Dictionary GetAllLocalScanFiles()
{
使用(DZine_Istylingenties ctxLocal=新的DZine_Istylingenties())
{
返回ctxLocal.tblScan
.Select(s=>new{s.MEMBERID,s.scanFileAvatar,s.hair})
.天冬酰胺()
.ToDictionary(s=>s.MEMBERID,s=>new ScanClass{
头发,
scanFileAvatar=s.scanFileAvatar
});
}
}
假设在原始实体中有一个
hair
属性


不过,
AsParallel
是否真的能帮到你还不清楚。您可能需要考虑使用<代码> ASMeNeReable()< <代码> >除非你有理由将其并行化。

我会直接跳过
选择
AsParallel
并直接执行
到字典
我会直接跳过
选择
AsParallel
并直接执行
到字典
快速问题头发和扫描文件是两个20MB+的大数据支柱,如果我执行这个查询时遇到内存不足的异常,如何避免或修复这个问题?@daageu:大概不要试图一次性获取数据库的全部内容。。。没有足够的信息来说明您试图做什么来给出更好的答案……Jon quick question hair&Scanfile Avatar是2个20MB+的大数据支柱,如果我执行此查询,我会遇到内存不足异常,我如何避免或修复此异常?@daageu:大概不要尝试一次性获取数据库的全部内容。。。没有足够的信息来说明你想做什么来给出一个更好的答案。。。