[英]EF + async = The context cannot be used while the model is being created?
设置是非常标准的。 创建了一个视图以及带有SQL Server连接字符串的存储库。 通过存储库的视图模型,并在视图模型的构造函数上,我从存储库中调用一个集合。 一切正常,直到我尝试使用async / await组合异步进行操作,但现在在调用存储库的集合时收到错误消息“在创建模型时无法使用上下文”。
旧的工作代码:
void FillPeopleList()
{
PeopleList = _repository.GetPeople();
}
新的破损代码:
async void FillPeopleList()
{
await Task.Run(()=>
{
PeopleList = _repository.GetPeople(); // Error
});
}
EF不是线程安全的。
您不能在多个线程上使用相同的上下文。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.