Задать вопрос
Ответы пользователя по тегу SQL
  • Как правильно организовать и контролировать иерархию в бд с использованием entity framework?

    @stcmd04236 Автор вопроса
    Нашел решение но и тут есть свой минус. Указать уровень вложенности. Вроде решает проблему но проблемы возникает в случае если переместить группу вложенностью 3 го уровня на первый и если она содержит еще несколько вложенных групп.

    Например у нас есть "корневая группа1" (уровень 0) и содержит несколько групп вложенностью до уровня 7. Вся проблема начинается если переместить группу с уровнем 4 на "корневая группа 1". Как быть с дочерными группами этой группы. Их уровень вложенности уже не 5 или 6 или 7 же. Какие есть пути решения данной проблемы? В голову приходить только вят всех и менять уровень вложенности на нужную.
    Ответ написан
    Комментировать
  • Как организовать структуру БД для планировщика задач?

    @stcmd04236 Автор вопроса
    И так создал следующие. Пока меня устраивает. Задача надо было создать планировщик задач для слежения за маршрутом транспорта который дает возможность пользователю настроит параметры слежения.

    public class Task
    	{
    		public Guid Id { get; set; }
    
    		public string Name { get; set; }
    
    		public List<TaskTrigger> Triggers { get; set; }
    
    		public List<TaskAction> Actions { get; set; }
    
    		public TaskCondition Condition { get; set; }
    
    		public string Description { get; set; }
    	}
    
    public class TaskTrigger 
    	{
    		public Guid Id { get; set; }
    
    		public int Repeat { get; set; }
    
    		public DateTime Start { get; set; }
    
    		public DateTime End { get; set; }
    	}
    public class TaskTriggerEvent : TaskTrigger
    	{
    		public TaskTriggerEventItem Event { get; set; }
    
    		public Transport Transport { get; set; }
    	}
    public class TaskTriggerEventItem
    	{
    		public Guid Id { get; set; }
    
    		public string Name { get; set; }
    
    		public string Description { get; set; }
    	}
    public class TaskTriggerShedule : TaskTrigger
    	{
    		public int StartupType { get; set; }
    	}
    
    public class TaskAction
    	{
    		public Guid Id { get; set; }
    	}
    public class TaskActionSendEmail : TaskAction
    	{
    		public string Email { get; set; }
    
    		public string Title { get; set; }
    
    		public string Content { get; set; }
    	}
    public class TaskActionSendSMS
    	{
    		public string Phone { get; set; }
    
    		public string Content { get; set; }
    	}
    public class TaskCondition
    	{
    		public Guid Id { get; set; }
    
    		public bool CheckDeviation { get; set; }
    
    		public int Deviation { get; set; }
    
    		public bool CheckStartCoordinate { get; set; }
    
    		public bool CheckEndCoordinate { get; set; }
    
    		public DbGeography StarCoordinate { get; set; }
    
    		public DbGeography EndCoordinate { get; set; }
    
    		public bool CheckSpeed { get; set; }
    
    		public double Speed { get; set; }
    	}
    Ответ написан
    Комментировать