相关疑难解决方法(0)

Entity Framework是否支持并行异步查询?

当我们启动多个异步实体框架查询并并行运行时会发生什么

他们是否并行执行?它们是否由实体框架序列化?这不受支持吗?它会导致异常吗?

public async Task QueryDatabase()
{
    using (var context = new MyDbContext())
    {
        Task task1 = context.SomeTable1.ToListAsync();
        Task task2 = context.SomeTable2.ToListAsync();

        await Task.WhenAll(task1, task2);
    }
}
Run Code Online (Sandbox Code Playgroud)

.net entity-framework entity-framework-6

51
推荐指数
2
解决办法
1万
查看次数

await Task <T>和Task <T> .Result有什么区别?

 public async Task<string> GetName(int id)
    {
        Task<string> nameTask =
            Task.Factory.StartNew(() => { return string.Format("Name matching id {0} = Developer", id); });
        return nameTask.Result;
    }
Run Code Online (Sandbox Code Playgroud)

在上面的方法return语句我使用Task.Result属性.

public async Task<string> GetName(int id)
    {
        Task<string> nameTask =
            Task.Factory.StartNew(() => { return string.Format("Name matching id {0} = Developer", id); });
        return await nameTask;
    }
Run Code Online (Sandbox Code Playgroud)

我在这里使用等待任务.如果我认为await将释放调用线程但是Task.Result将阻止它,我会不会错,它会是正确的吗?

c# multithreading async-await

41
推荐指数
2
解决办法
7624
查看次数