Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在我的环境中,与DBContext相关的EF行为发生变化的原因是什么?_C#_Asp.net Mvc_Entity Framework_Dbcontext - Fatal编程技术网

C# 在我的环境中,与DBContext相关的EF行为发生变化的原因是什么?

C# 在我的环境中,与DBContext相关的EF行为发生变化的原因是什么?,c#,asp.net-mvc,entity-framework,dbcontext,C#,Asp.net Mvc,Entity Framework,Dbcontext,所以是时候每两年清理一次开发人员环境了,所以我备份了数据库,格式化了驱动器,重新安装了软件 除了从SQLExpress到localDB的更改外,开发环境没有重大更改 然而,在我恢复数据库之后,我很快注意到entity framework除了从数据库中读取数据外,什么都不做。当我试图删除某些内容时,我得到了以下信息: 无法删除该对象,因为在中找不到该对象 ObjectStateManager 所以当我在谷歌上搜索时,我发现了在dbContext的不同实例中处理对象的问题。因此,通过确保我在一个电话

所以是时候每两年清理一次开发人员环境了,所以我备份了数据库,格式化了驱动器,重新安装了软件

除了从SQLExpress到localDB的更改外,开发环境没有重大更改

然而,在我恢复数据库之后,我很快注意到entity framework除了从数据库中读取数据外,什么都不做。当我试图删除某些内容时,我得到了以下信息:

无法删除该对象,因为在中找不到该对象 ObjectStateManager

所以当我在谷歌上搜索时,我发现了在dbContext的不同实例中处理对象的问题。因此,通过确保我在一个电话中使用相同的方法,它又开始工作了

然而,我不确定是什么触发了这种变化的行为。在重置我的计算机之前,我使用dbContext的一个单例实例尝试了这两种方法,该方法有效,但由于多线程问题,建议不要使用。然后我很快就对它进行了黑客攻击,每次都返回一个新实例,用于EF上的每一个操作,这实际上工作得很好,尽管我现在不明白它是如何工作的,因为我经历了当前的失败

所以我的问题是,是什么样的环境变化触发了这种新的行为,使我无法,很容易理解,为每个EF动作使用新的dbContext?