public DataSource(string name) { if (name == null) { throw new ArgumentNullException("name"); } disposed = false; _name = name; _type = DataSourceType.Unknown; _provider = null; _trans = new DataTransaction(this); _locker = new VersionLocker(); _pscount = 0; ConnectionStringSettings settings = System.Configuration.ConfigurationManager.ConnectionStrings[_name]; if (settings == null) { throw new SettingsPropertyNotFoundException(string.Concat("配置文件中不存在名为“", _name, "”的数据库连接字符串")); } DbProviderFactory factory = DbProviderFactories.GetFactory(settings.ProviderName); _conn = factory.CreateConnection(); _conn.ConnectionString = settings.ConnectionString; _conn.Open(); lock (_locker.Locker) _locker.Increment(); }
public DataSource(DataSource ds) { if (ds == null) { throw new ArgumentNullException("ds"); } disposed = false; _name = ds._name; _type = ds._type; _provider = ds._provider; _trans = ds._trans; _locker = ds._locker; _pscount = ds.PsCount; _conn = ds._conn; lock (_locker.Locker) _locker.Increment(); }
public DataTransaction(DataSource ds) { _ds = ds; trans = null; locker = new VersionLocker(); }