【发布时间】:2010-04-28 11:13:29
【问题描述】:
以下示例是否可以与实体框架并行工作?
using (var dbContext = new DB())
{
var res = (from c in dbContext.Customers
orderby c.Name
select new
{
c.Id,
c.Name,
c.Role
}
).ToDictionary(c => c.Id,
c => new Dictionary<string, object> {
{ "Name",c.Name },
{ "Role", c.Role }
});
}
例如,如果我添加 AsParrallel,会发生什么变化?
using (var dbContext = new DB())
{
var res = (from c in dbContext.Customers
orderby c.Name
select new
{
c.Id,
c.Name,
c.Role
}
).AsParallel().ToDictionary(c => c.Id,
c => new Dictionary<string, object> {
{ "Name",c.Name },
{ "Role", c.Role }
});
}
还有一个例子。问题是一样的,3个例子有什么区别。
using (var dbContext = new DB())
{
var res = (from c in dbContext.Customers.AsParallel()
orderby c.Name
select new
{
c.Id,
c.Name,
c.Role
}
).AsParallel().ToDictionary(c => c.Id,
c => new Dictionary<string, object> {
{ "Name",c.Name },
{ "Role", c.Role }
});
}
【问题讨论】:
-
您为什么要这样做?该查询将从并行化中获得零收益,即使它有效。它可能会运行更慢。
-
@CraigStuntz 请提供您对这篇文章的意见opinionsharepoint.blogspot.com/2019/06/…
标签: c# entity-framework parallel-processing