DBContext Hell,使用对MySQL数据库的LINQ调用的正确方法

问题描述 投票:0回答:1

当我突然从SQL中读取特定项时,突然发现诸如“ System.InvalidOperationException:在此操作之前,第二个操作已在此上下文上启动”这样的线程错误,我已经编写了DotNet Core 3.1应用程序已经有一段时间了。表。从所有混乱的MS文档中,我被告知应该使用“等待Task.Run(()=> context.tablename.where(x => x.something == something)” ...

但是错误不会消失。我的SQLRepository中有数百个此类调用。我需要对每个人都这样做吗?太疯狂了……错误不会消失。为什么这突然开始发生。这不像我手动生成线程,只是对mySQL进行调用-如果此类调用不是线程安全的,为什么默认情况下这不是同步的?让我对DotNet Core失去信心...

mysql multithreading dbcontext multitasking
1个回答
0
投票

更新:我开始工作了...是的,我确实必须为每个数据库调用使用“ await Task.Run()=>”,然后级联出来,以便在调用包含上面代码的方法时,则必须使用await关键字来执行此操作,即...“ await _myDbContext.GetSomething()”

屁股上有什么痛苦...

© www.soinside.com 2019 - 2024. All rights reserved.