Вы можете проверить результат, имеющий счет = 2 для строк, которые соответствуют вопросу и ответ, где условие
select RespondentId
from Answers
when question in ( 'Big', 'Children')
and Answer ='Yes'
group by RespondentId having count(*) = 2
Вы не можете, не совсем. Что вы можете сделать, это определить некоторые «условные символы компиляции», если вы посмотрите на страницу «Build» настроек вашего проекта, вы можете установить их там, чтобы вы могли написать операторы #if для их проверки.
Символ DEBUG автоматически внедряется (по умолчанию это можно отключить) для отладочных сборок.
Таким образом, вы можете написать код, подобный этому
#if DEBUG
RunMyDEBUGRoutine();
#else
RunMyRELEASERoutine();
#endif
Однако, не делайте этого, если у вас нет веских причин. Приложение, которое работает по-разному между сборками отладки и выпуска, никому не подходит.
Я не верю, что вы можете внедрить это во время компиляции в сборку, но одним из способов добиться этого было бы использование MSBuild и добавление его в файл конфигурации приложения.
См. Этот пост в блоге о том, как создавать конфигурационные файлы для нескольких сред с помощью MSBuild - http://adeneys.wordpress.com/2009/04/17/multi-environment-config/
В качестве альтернативы вы можете написать Задача MSBuild, которая будет редактировать определенный скомпилированный файл (ваш файл C # или VB) и запускать его в задаче BeforeBuild
. Это было бы довольно сложно, так как вам нужно было бы решить, куда вставить его в файл, но, если у вас настроен какой-то токенизация, вы сможете это сделать. Я также сомневаюсь, что это будет красиво!
Если вы разгружете свой проект (в меню правой кнопкой мыши) и добавьте это непосредственно перед тегом Project>
, он сохранит файл, который имеет вашу конфигурацию в Это. Затем вы можете прочитать это обратно для использования в вашем коде.
<Target Name="BeforeBuild">
<WriteLinesToFile File="$(OutputPath)\env.config"
Lines="$(Configuration)" Overwrite="true">
</WriteLinesToFile>
</Target>