public static List <TblDatabaseManagement> GetDBThatFinishedProcess() { using (MetaqueriesContext context = new MetaqueriesContext()) { //We finished work with db db that in the current arity all the metaqueries has result and the result is false /*return context * .TblDatabaseManagements * .Where( * x => x.FkStatusId == (int)StatusDB.InProcess && * x.TblMetaqueries.Where(m => m.Arity == x.CurrentArity) * .All(m => m.HasResult.HasValue && m.HasResult.Value == false) * ) * .ToList();*/ return(context .TblDatabaseManagements .Where( x => x.FkStatusId == (int)StatusDB.InProcess && x.CurrentArity == x.MaxArity && x.TblMetaqueries.Where(m => m.Arity == x.CurrentArity) .All(m => m.FkResult.HasValue) ) .ToList()); } }
public static void UpdateExperimentResultsAndClear() { using (MetaqueriesContext context = new MetaqueriesContext()) { context.UpdateExperimentResultsAndClearDb(); } }
public static List <TblDatabaseManagement> GetDBToWork(StatusDB statusDB) { using (MetaqueriesContext context = new MetaqueriesContext()) { return(context.TblDatabaseManagements.Where(x => x.FkStatusId == (int)statusDB).ToList()); } }
public static void UpdateStatus(TblMetaquery tblMetaquery, StatusMQ newStatus) { using (MetaqueriesContext context = new MetaqueriesContext()) { tblMetaquery.FkStatusId = (int)(newStatus == StatusMQ.ExpandedAndDone ? StatusMQ.Done : newStatus); if (newStatus == StatusMQ.WaitingToSolver) { tblMetaquery.StartTime = DateTime.Now; } if (newStatus == StatusMQ.Done || newStatus == StatusMQ.ExpandedAndDone) { tblMetaquery.FinishTime = DateTime.Now; } if (newStatus == StatusMQ.Expanded || newStatus == StatusMQ.ExpandedAndDone) { tblMetaquery.IsExpanded = true; } tblMetaquery.TblDatabaseManagement = null; context.TblMetaqueries.Attach(tblMetaquery); //context.Entry(tblMetaquery).State = System.Data.Entity.EntityState.Modified; context.MarkAsModified(tblMetaquery); context.SaveChanges(); } }
public static void Create(TblProbabilityExperiment tblProbabilityExperiment) { using (MetaqueriesContext context = new MetaqueriesContext()) { context.TblProbabilityExperiments.Add(tblProbabilityExperiment); context.MarkAsCreated(tblProbabilityExperiment); context.SaveChanges(); } }
public static void Update(TblDatabaseManagement tblDatabaseManagement) { using (MetaqueriesContext context = new MetaqueriesContext()) { context.TblDatabaseManagements.Attach(tblDatabaseManagement); context.MarkAsModified(tblDatabaseManagement); context.SaveChanges(); } }
public static void Create(TblMetaquery tblMetaquery) { using (MetaqueriesContext context = new MetaqueriesContext()) { context.TblMetaqueries.Add(tblMetaquery); context.MarkAsCreated(tblMetaquery); context.SaveChanges(); } }
public static void Update(TblProbabilityExperiment tblProbabilityExperiment) { using (MetaqueriesContext context = new MetaqueriesContext()) { context.TblProbabilityExperiments.Attach(tblProbabilityExperiment); context.MarkAsModified(tblProbabilityExperiment); context.SaveChanges(); } }
public static void Create(TblDatabaseManagement tblDatabaseManagement) { using (MetaqueriesContext context = new MetaqueriesContext()) { context.TblDatabaseManagements.Add(tblDatabaseManagement); context.MarkAsCreated(tblDatabaseManagement); context.SaveChanges(); } }
public static List <VMetaquery> GetMetaqueriesByID(int dbID) { using (MetaqueriesContext context = new MetaqueriesContext()) { return(context .VMetaqueries .Where(x => x.FkDatabaseId == dbID) .ToList()); } }
public static TblDatabaseManagement Get(int id) { using (MetaqueriesContext context = new MetaqueriesContext()) { return(context .TblDatabaseManagements .Include(x => x.TblStatus) .FirstOrDefault(x => x.Id == id)); } }
public static List <VMetaqueriesResult> GetMetaqueriesResultByID(int metaqueryID) { using (MetaqueriesContext context = new MetaqueriesContext()) { return(context .VMetaqueriesResults .Where(x => x.FkMetaqueryId == metaqueryID) .ToList()); } }
public static List <VProbabilityExperimentResult> GetProbabilityExperimentResult() { using (MetaqueriesContext context = new MetaqueriesContext()) { return(context .VProbabilityExperimentResults //.Where(x => x.MqCount.HasValue && x.SupportProbability == supportProbabilty ) .ToList() ); } }
public static List <TblMetaquery> GetMQForExpand() { using (MetaqueriesContext context = new MetaqueriesContext()) { return(context .TblMetaqueries .Include(x => x.TblDatabaseManagement) .Where(x => x.FkResult.HasValue /*&& x.HasResult.Value == true && !x.IsExpanded*/) .ToList()); } }
public static List <TblProbabilityExperiment> GetForExperiment(int countToRun) { using (MetaqueriesContext context = new MetaqueriesContext()) { return(context .TblProbabilityExperiments .Where(x => !x.FkDatabaseId.HasValue) .Take(countToRun) .ToList() ); } }
public static List <TblMetaquery> GetMQForSendToSolver() { using (MetaqueriesContext context = new MetaqueriesContext()) { //mq send to solver if the arity is the current arity processed, and the status is received return(context .TblMetaqueries .Include(x => x.TblDatabaseManagement) .Where(x => x.FkStatusId == (int)StatusMQ.Received && x.Arity == x.TblDatabaseManagement.CurrentArity) .ToList()); } }
public static List <int> GetDBArityExists(int dbID) { using (MetaqueriesContext context = new MetaqueriesContext()) { return(context .TblMetaqueries .Where(x => x.FkDatabaseId == dbID) .OrderBy(x => x.Arity) .Select(x => x.Arity) .Distinct() .ToList()); } }
public static List <int> GetConfidenceExistsInProbabiltyExperiment() { using (MetaqueriesContext context = new MetaqueriesContext()) { return(context .TblProbabilityExperiments .Where(x => x.ProbabilityIncreaseByArity == null && x.ConfidenceProbability > 0) .OrderBy(x => x.ConfidenceProbability) .Select(x => x.ConfidenceProbability) .Distinct() .ToList()); } }
public static List <TblMetaquery> GetMQForExpand() { using (MetaqueriesContext context = new MetaqueriesContext()) { return(context .TblMetaqueries .Include(x => x.TblDatabaseManagement) .Where(x => !x.IsExpanded && (x.TblMetaqueriesResults.Any() || x.FkResult.HasValue) && x.Arity < x.TblDatabaseManagement.MaxArity) .Take(10000) .ToList()); } }
public static List <KeyValue> GetNotForExperiment() { using (MetaqueriesContext context = new MetaqueriesContext()) { return(context .TblDatabaseManagements .Where(x => x.ForExperiment == false) .OrderByDescending(x => x.CreatedDate) .Select(x => new KeyValue { Key = x.Id , Value = x.DbName }) .ToList()); } }
public static List <TblDatabaseManagement> GetDBToIncreaseArity() { using (MetaqueriesContext context = new MetaqueriesContext()) { //We need to increase arity when db in process and have all it's metaqueries in the current arity are done/expanded return(context .TblDatabaseManagements .Where( x => x.FkStatusId == (int)StatusDB.InProcess && !x.TblMetaqueries.Any( m => m.Arity == x.CurrentArity && m.FkStatusId != (int)StatusMQ.Done && m.FkStatusId != (int)StatusMQ.Expanded ) ) .ToList()); } }
public static void UpdateStatus(TblMetaquery tblMetaquery, StatusMQ newStatus) { using (MetaqueriesContext context = new MetaqueriesContext()) { tblMetaquery.FkStatusId = (int)newStatus; if (newStatus == StatusMQ.WaitingToSolver) { tblMetaquery.StartTime = DateTime.Now; } if (newStatus == StatusMQ.Done) { tblMetaquery.FinishTime = DateTime.Now; } context.TblMetaqueries.Attach(tblMetaquery); //context.Entry(tblMetaquery).State = System.Data.Entity.EntityState.Modified; context.MarkAsModified(tblMetaquery); context.SaveChanges(); } }