private ILookup <String, PeakBounds> ReadPeakBounds(string blibFile) { var entries = new List <Tuple <string, PeakBounds> >(); using (var connection = new SQLiteConnection( SessionFactoryFactory.SQLiteConnectionStringBuilderFromFilePath(blibFile).ToString()) .OpenAndReturn()) { using (var cmd = connection.CreateCommand()) { cmd.CommandText = "SELECT s.peptideSeq, r.startTime, r.endTime\n" + "FROM RefSpectra s LEFT JOIN RetentionTimes r ON s.id = r.RefSpectraID\n" + "WHERE r.startTime IS NOT NULL AND r.endTime IS NOT NULL"; using (var reader = cmd.ExecuteReader()) { while (reader.Read()) { entries.Add(Tuple.Create(reader.GetString(0), new PeakBounds(reader.GetDouble(1), reader.GetDouble(2)))); } } } } return(entries.ToLookup(tuple => tuple.Item1, tuple => tuple.Item2)); }
protected override IDisposable Connect() { DbProviderFactory fact = new SQLiteFactory(); SQLiteConnection conn = (SQLiteConnection)fact.CreateConnection(); if (conn != null) { var connectionStringBuilder = SessionFactoryFactory.SQLiteConnectionStringBuilderFromFilePath(FilePath); connectionStringBuilder.Version = 3; conn.ConnectionString = connectionStringBuilder.ToString(); conn.Open(); } return(conn); }