DataContext没有看到更新

时间:2011-04-25 14:09:16

标签: linq-to-sql asp.net-mvc-2 unity-container

我正在使用Unity 2.0为抽象存储库注册一个具体的SQL Server存储库,如下所示:

var context = new DataContext(
    ConfigurationManager.ConnectionStrings["DevDB"].ConnectionString
);

this.UnityContainer
    .RegisterType<AlertQueueRepository, Sql.AlertQueueRepository>(
        new InjectionConstructor(context)
    );

我在所有其他存储库中共享上下文。这在应用程序中工作正常,但是,如果其他人 - SSMS查询,SSIS包,其他应用程序 - 修改数据库我的存储库不知道这一点,并且不会看到更改。

这是我使用Unity的方式的问题吗?也许这些背景太久了?或者我需要使用LINQ进行配置?

2 个答案:

答案 0 :(得分:2)

考虑这个问题的答案:Multiple application using one database?

如果您确实需要多个应用程序来访问/修改数据,请考虑在数据库之上构建一个层来为所有请求提供服务。

答案 1 :(得分:1)

这个问题与我的相似 - ASP.NET MVC inject per request

我需要做的是让每个请求都注册自己的上下文,因为它具有在每个请求之后抛出上下文的副作用。现在我只是考虑这种模式的性能影响。