Jak rozwiązujecie kwestię dodatkowych atrybutów dla relacji

0

Witam
Otóż pisząc program, klient zarządził, że chce dodawać atrybuty do konkretnego obiektu. Innymi słowy mamy np. klasę pracownik do którego klient życzy sobie by mógł dołożyć konkretne atrybuty. Swój model klas pięknie sobie mapujecie do bazy danych przy wykorzystaniu jakiegoś ORM. Jednakże jak rozwiązać problem kiedy klient nie wie ile tych atrybutów może być i co tam wprowadzi. Zatem do danego pracownika może być przyporządkowane 0 dodatkowych atrybutów jak i chociażby 20.

Pisząc ten program akurat wiem, że nie będzie tych atrybutów więcej niż 3. Stąd mogę sobie stworzyć dodatkową tabelę w relacyjnej bazie. I wykorzystać klasę z takimi właściwościami

 
        public virtual int Id { get; set; }
        public virtual Pracownik JakisJestSobieGosciu { get; set; }

        public virtual string Pole1 { get; set; }
        public virtual string Pole2 { get; set; }
        public virtual string Pole3 { get; set; }

        public virtual string Wartosc1 { get; set; }
        public virtual string Wartosc2 { get; set; }
        public virtual string Wartosc3 { get; set; } 

Kiedyś jak miałem problem tego typu w tabeli stworzyłem dodatkowy atrybut typu Text, w którym przyjąłem jakiś schemat np:

Pole1 --- Atrybut1;
Pole2 --- Atrybut2;

Myślę jednak, że da się to zrobić mniej idiotycznie.

Pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1