public virtual void Init(IObjectService objectService, IDataStorageSetting setting, IConnectionStringSetting connectionStringSetting) { this.ObjectService = objectService; this.Setting = setting; this.ConnectionStringSetting = connectionStringSetting; this.DataProviderFactory = this.GetDbProviderFactory(this.ConnectionStringSetting); this.CheckDataProviderFactory(); }
protected override DbProviderFactory GetDbProviderFactory(IConnectionStringSetting connectionString) { var type = typeof(T); var field = type.GetField("Instance"); if (field == null) { throw new DataException($"未能找到类型为 {type.FullName} 的静态字段:Instance"); } var instance = field.GetValue(null) as DbProviderFactory; return(instance); }
protected override DbProviderFactory GetDbProviderFactory(IConnectionStringSetting connectionString) { return(SqlClientFactory.Instance); }
protected abstract DbProviderFactory GetDbProviderFactory(IConnectionStringSetting connectionString);