刷新DbContext

时间:2014-11-12 19:03:15

标签: entity-framework-6 dbcontext

我创建了一个使用Entity Framework 6的项目。该项目是一个数据层,用于多个其他项目,例如MVC网站和Web API。 当用户在MVC网站中更改某些内容时,它将通过数据库中的数据层进行存储。但Web API项目未检测到这些更改。

我的DbContext在Ninject的控制器中注入。我尝试在控制器的Dispose方法中处理DbContext,但这种方法并不起作用。在将数据库上下文注入控制器的构造函数后,我应该Refresh()吗?或者是否有另一种方法可以使DbContext与数据库保持同步?

Fwiw,这是OWIN Startup类:

public class Startup
{
    public void Configuration(IAppBuilder app)
    {
        HttpConfiguration config = new HttpConfiguration();

        WebApiConfig.Register(config);

        config.DependencyResolver = new NinjectResolver(NinjectWebCommon.CreateKernel());

        app.UseWebApi(config);
    }
}

这是Ninject代码:

public static class NinjectWebCommon
{
    public static IKernel CreateKernel()
    {
        var kernel = new StandardKernel();

        kernel.Bind<Func<IKernel>>().ToMethod(ctx => () => new Bootstrapper().Kernel);
        kernel.Bind<IHttpModule>().To<HttpApplicationInitializationHttpModule>();

        GlobalConfiguration.Configuration.DependencyResolver = new WebApiContrib.IoC.Ninject.NinjectResolver(kernel);

        // Register Services:
        kernel.Bind<MyDbContext>().To<MyDbContext>().InRequestScope().WithConstructorArgument("disableOrgFilter", true);

        return kernel;
    }
}

0 个答案:

没有答案