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:大概不要尝试一次性获取数据库的全部内容。。。没有足够的信息来说明你想做什么来给出一个更好的答案。。。