/// <summary> /// 获取注册到数据库提供者的插件服务实例。 /// </summary> /// <typeparam name="TProvider">插件服务的类型。</typeparam> /// <returns></returns> public override TProvider GetService <TProvider>() { var database = DatabaseFactory.GetDatabaseFromScope(); if (database == null) { return(base.GetService <TProvider>()); } var parameter = GetConnectionParameter(database.ConnectionString); if (parameter == null || parameter.Database == null) { return(base.GetService <TProvider>()); } var fileName = parameter.Database.ToLower(); if (fileName.EndsWith(".mdb") || fileName.EndsWith(".accdb")) { return(ProviderExtension.GetService <TProvider>(this, "Access")); } return(base.GetService <TProvider>()); }
/// <summary> /// 获取注册到数据库提供者的插件服务实例。 /// </summary> /// <typeparam name="TProvider">插件服务的类型。</typeparam> /// <returns></returns> public virtual TProvider GetService <TProvider>() where TProvider : class, IProviderService { return(ProviderExtension.GetService <TProvider>(this)); }