繁体   English   中英

EF + async =创建模型时无法使用上下文?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM