- 1
- 2
var listModuleId = dbContext.MODULES.Where(n => n.IFDELETE == 0 && n.DEVICETYPE == 1).Select(m => m.IDMODULE).ToList();
var ListMeasure = dbContext.MEASURE.Where(n => listModuleId.Contains(n.IDMODULES)).GroupBy(m => m.IDMODULES).ToList();
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 1
+3
var listModuleId = dbContext.MODULES.Where(n => n.IFDELETE == 0 && n.DEVICETYPE == 1).Select(m => m.IDMODULE).ToList();
var ListMeasure = dbContext.MEASURE.Where(n => listModuleId.Contains(n.IDMODULES)).GroupBy(m => m.IDMODULES).ToList();
Если в MODULES несколько сотен датчиков, то вторая строка разворачивается в sql-запрос на 22 килобайта, а если в MEASURE 13 тысяч записей, то этот запрос выполняется полторы минуты.
Молчу уже о том, что listModuleId нигде, кроме второй строки, не используется.