Учитывая следующую структуру базы данных и используя EntityFramework.Как определить, какие SQL-записи отсутствуют после запроса?
Каждые пять минут, «phasecount» таблица получает записи для каждой записи в «фазе».
using (Entities db = new Entities())
{
db.ContextOptions.LazyLoadingEnabled = false;
int numberofcontrollers = (from a in db.Junctions select a).Count();
List<int> controllerids = (from b in db.Junctions select b.Id).ToList();
var configuration = (from c in db.Configurations select c).First();
DateTime laststamp = (from s in db.Stamps select s.Time).Max();
DateTime firststamp = laststamp.AddMinutes(-1 * (CountIntervalsBefore - 1) * TimeSliceLength);
var stamps = from s in db.Stamps.Include("PhaseCounts.Phase") where s.Time >= firststamp && s.Time <= laststamp orderby s.Id select s;
// check consistency; number of stamps should equal timeslices*controllers
if (stamps.Count() != CountIntervalsBefore * numberofcontrollers)
{
//counts are not available for all timeslices and controllers
//do extended consistency check (and use dummy data?)
}
}
Я хочу выбрать один час для каждой фазы для всех фаз.
Марки обычно равны 72, т.е. 12 5-минутных ломтиков * 6 соединений.
Если он не равен 72, как определить, какие фазы и какие метки имеют отсутствующие данные?
Спасибо. Я надеялся сделать это с некоторыми умными объединениями в запросе, но до сих пор я не могу узнать, как ... – Cornelis