当我声明我在所有方法中使用的上下文CommonService
时,我有一个类_epdaDb
:
public class CommonService
{
EPDA.WebApi.Context.EPDAContext.ApplicationDbContext _epdaDb = new Context.EPDAContext.ApplicationDbContext();
和方法:
public ResultMessage DeleteCountry(int id_country)
{
ResultMessage result = new ResultMessage();
var countryToRemove = _epdaDb.Countrys.Include("Towns").FirstOrDefault(c => c.Id_Country == id_country);
return result;
}
当我尝试测试DeleteCountry
方法时,我遇到了错误:
EntityFramework.dll中发生System.InvalidOperationException类型的异常,但未在用户代码中处理。在创建模型时不能使用上下文。如果在OnModelCreating方法中使用上下文,或者同时由多个线程访问相同的上下文实例,则可能抛出此异常。请注意,DbContext和相关类的实例成员不保证是线程安全的。
经过大量的研究,我没有找到一个很好的解决方案,我发现我应该在每种方法中实例化我的上下文。
有人能帮帮我吗?