Позвольте мне объяснить мою модель, что я собирался сделать, и что я хотел бы сделать, и узнать ваше мнение о том, как ее реализовать.
Фон
Итак, у меня есть класс TelemetryStation, в котором есть коллекция другого класса Sensor. Ну, может быть, код будет более понятным:
public class TelemetryStation
{
IList<Sensor> Sensors { get; set; }
}
Я собирался добавить к нему свойство под названием TelemetryStationType, чтобы мы могли добавить теги к TelemetryStation, чтобы определить, какой это тип. то есть WeatherStation, Chemigation и т. д. Я бы разрешил использовать несколько тегов, если они соответствуют критериям для каждого типа TelemetryStaion.
Ну, это нормально, но я бы хотел, чтобы на WeatherStation было минимальное количество датчиков, таких как температура, скорость ветра и т. Д. Я думаю, что на моей веб-странице или странице формы окна может затем захватить все TelemetryStations определенного типа, и будет гарантировано, что они имеют правильные датчики.
Вопросы
Так что было бы лучшим способом кодировать это? Могу ли я моделировать его в классах или мне нужно просто создавать запросы, которые захватывают всю TelemetryStation с определенными типами датчиков?
Редактировать
Что-то, что я должен был добавить, что может быть важно, это то, как мы получаем данные. Итак, у нас есть прослушиватель портов, созданный другой компанией, который записывает показания телеметрической станции в текстовый файл CSV. Таким образом, файл назван в честь идентификатора станции, и каждая строка имеет метку даты и времени, за которой следуют показания через запятую. Там нет идентификации относительно того, что чтения. Поэтому я разрешаю пользователю определить модель для телеметрической станции относительно того, какие датчики поступают через прослушиватель портов и их расположение в строке в текстовом файле. Затем я анализирую текстовый файл, используя созданную пользователем модель данных. Таким образом, если компания меняет модели или порядок, в котором данные датчика находятся в текстовом файле, мы можем определить новую модель, и новый поток данных будет иметь смысл.