Не совсем, нет.
В нем можно хранить только биты, и только столько. Таким образом, мне кажется, что он требует много головной боли на уровне приложений, чтобы отслеживать, что каждый из них означает, и потенциальные злоупотребления позже, потому что «эй, они везде». Будет ли каждая битовая маска в каждой таблице использовать одно и то же определение для каждого бита? Будет ли это отличаться на каждом столе? Что происходит, когда у вас кончились биты? Добавить еще один?
Есть много потенциальных вещей, которые вы могли бы сделать с этим, но возникает вопрос: "Зачем делать это таким образом, вместо определения того, что мы будем использовать эти биты для прямо сейчас и просто сделать их правильными столбцами? В любом случае, вы не можете обойти возможность изменения схемы таким образом, поэтому создается впечатление, что она пытается решить проблему, которую вы не можете «решить», особенно с помощью масок.
Каждая из упомянутых вами вещей может (и должна быть решена) с помощью реальных столбцов в базе данных, и они гораздо более самодокументированы, чем «бит 5 поля BitMaskOptions
».