Если вы хотите запросить эти атрибуты, то, к сожалению, вы, вероятно, застряли с первоклассными полями, если производительность является фактором.Битовые поля и строки флагов - это простой способ решения проблемы, но они плохо масштабируются по отношению к производственным наборам данных.
Если вы не будете беспокоиться о производительности, я бы использовал реализацию, в которойкаждое свойство представлено символом ("a" = "garage", "b" = "камин" и т. д.), и вы просто строите строку, которая представляет все флаги, которые имеет запись.Основное преимущество, которое это имеет над битовым полем, состоит в том, что а) человеку легче отлаживать, и б) вам не нужно беспокоиться о размере ваших типов данных.
Если производительность важна,тогда вам, вероятно, нужно будет продвигать их в первоклассные поля.