static void BindEntityContextConfigurationInstance(IEntityContextConfiguration configuration, IContainer container) { var connectionType = configuration.Connection.GetType(); if (!container.HasBindingFor(connectionType)) { container.Bind(connectionType, configuration.Connection); } }
/// <summary> /// Binds given entity context for a specific type (IEntityContext of T) /// </summary> /// <typeparam name="T">The Type that this vbinding will work for</typeparam> /// <param name="configuration">EntityContextConfiguration instance</param> /// <param name="container">Container</param> public static void BindEntityContextTo <T>(this IEntityContextConfiguration configuration, IContainer container) { BindEntityContextConfigurationInstance(configuration, container); var source = typeof(IEntityContext <>).MakeGenericType(typeof(T)); var target = configuration.EntityContextType.MakeGenericType(typeof(T)); container.Bind(source, target); }
/// <summary> /// Binds given entity context as default IEntityContext /// </summary> /// <param name="configuration">EntityContextConfiguration instance</param> /// <param name="container">Container</param> public static void BindDefaultEntityContext(this IEntityContextConfiguration configuration, IContainer container) { BindEntityContextConfigurationInstance(configuration, container); container.Bind(typeof(IEntityContext <>), configuration.EntityContextType); }