我最近开始在我的.NET 4.0应用程序中使用Entity Framework 4.0,并对与池化相关的一些事情感到好奇.
据我所知,连接池由ADO.NET数据提供程序管理,在我的情况下是MS SQL服务器.当您实例化新的实体context(ObjectContext)时,这是否适用,即无参数new MyDatabaseModelEntities()?
a)为应用程序创建全局实体上下文(即一个静态实例)或b)使用using块为每个给定操作/方法创建和公开实体上下文有哪些优点和缺点.
我应该了解的某些场景的任何其他建议,最佳实践或常用方法?
在尝试注册我的DbContext时,Simple Inject会抛出以下异常.
提供的连接字符串无效,因为它包含的映射或元数据信息不足.参数名称:connectionString
我是DI的新手,可能会遗漏一些相当明显的东西.连接字符串看起来很好.它与用于正常创建DbContext的相同.我在这里尝试解决方案
public static class SimpleInjectorInitializer
{
/// <summary>Initialize the container and register
// it as MVC3 Dependency Resolver.</summary>
public static void Initialize()
{
var container = new Container();
InitializeContainer(container);
container.RegisterMvcControllers(
Assembly.GetExecutingAssembly());
container.RegisterMvcAttributeFilterProvider();
container.Verify();
DependencyResolver.SetResolver(
new SimpleInjectorDependencyResolver(container));
}
private static void InitializeContainer(
Container container)
{
}
}
Run Code Online (Sandbox Code Playgroud)
更新:我仍然没有解决我的问题,但它与Ninject的这个问题非常相似
堆栈跟踪:
System.InvalidOperationException was unhandled by user code
Message=The configuration is invalid. Creating the instance for type _AccountController failed. Error occurred while trying to get an instance …Run Code Online (Sandbox Code Playgroud) asp.net-mvc entity-framework dependency-injection ninject simple-injector