public void Save(UsageRow usage) { UsageDataContext dc = CreateDataContext(); dc.AddObject(UsageDataContext.UsageTable, usage); dc.SaveChanges(); }
public List <UsageRow> GetRows(Guid uploadId, DateTime utcStart, DateTime utcEnd) { var utcStartTicks = utcStart.Ticks.ToString(CultureInfo.InvariantCulture); var utcEndTicks = utcEnd.Ticks.ToString(CultureInfo.InvariantCulture); string key = string.Format("{0}{1}{2}", uploadId, utcStartTicks, utcEndTicks); object cachedValue = HttpContext.Current.Cache[key]; if (cachedValue != null) { return((List <UsageRow>)cachedValue); } UsageDataContext dc = CreateDataContext(); List <UsageRow> usageRows = dc.Usage.Where(u => u.PartitionKey == uploadId.ToString() && String.Compare(u.RowKey, utcStartTicks, StringComparison.InvariantCulture) >= 0 && String.Compare(u.RowKey, utcEndTicks, StringComparison.InvariantCulture) <= 0) .AsTableServiceQuery().ToList(); HttpContext.Current.Cache.Add(key, usageRows, null, DateTime.Now.AddMinutes(9), Cache.NoSlidingExpiration, CacheItemPriority.High, null); //HttpContext.Current.Cache[key] = usageRows; return(usageRows); }