Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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
Entity framework 如何在实体框架中正确使用DI?_Entity Framework - Fatal编程技术网

Entity framework 如何在实体框架中正确使用DI?

Entity framework 如何在实体框架中正确使用DI?,entity-framework,Entity Framework,我有几个名为providers的类,它们分别注入控制器属性及其接口。这些提供程序类都注入了IDatabaseProvider类,因为我需要相同的db上下文。所有注入类的生命周期都设置为web请求 问题是当我更新数据库实体时。这些值被正确地存储到sql server中,但是如果我查询它们,仍然会返回旧值。如果刷新mvc应用程序的页面,则检索到的数据是最新的。我想这与DI类的生命周期有关。但即使我将它们设置为瞬态,我也有同样的问题 我非常感谢在这个问题上提供的任何帮助 谢谢。请展示您的实现。在再次请

我有几个名为providers的类,它们分别注入控制器属性及其接口。这些提供程序类都注入了IDatabaseProvider类,因为我需要相同的db上下文。所有注入类的生命周期都设置为web请求

问题是当我更新数据库实体时。这些值被正确地存储到sql server中,但是如果我查询它们,仍然会返回旧值。如果刷新mvc应用程序的页面,则检索到的数据是最新的。我想这与DI类的生命周期有关。但即使我将它们设置为瞬态,我也有同样的问题

我非常感谢在这个问题上提供的任何帮助


谢谢。

请展示您的实现。在再次请求数据之前,您是否在某处调用SaveChanges?是的,我调用save changes。从这一点上,我看到了sql server中的变化。SaveChanges之后,我在一个注入了db上下文的类中的方法中再次检索数据,并且这些值不是更新后的值。我认为注入的db上下文在某种程度上仍然与更新之前相同。