/ / Pobieranie unikalnych identyfikatorów z bazy danych dla nieunikalnej kolumny - najpierw asp.net kod mvc - serwer sql, asp.net-mvc, asp.net-mvc-5, kod pierwszy

Uzyskiwanie unikalnych identyfikatorów z bazy danych dla nieunikalnej kolumny - pierwszy kod mvc asp.net - serwer sql, asp.net-mvc, asp.net-mvc-5, pierwszy kod

Mam raczej wyjątkowy problem, więc pomyślałem, że zapytam tutaj:

Muszę opracować model Code First, w którym użytkownik ma 2 pola identyfikatora, jedno unikalne (identyfikujące każdego użytkownika osobno) i jedno, które nie będzie unikalne dla każdego użytkownika (używane do celów grupowania).

Jak przejść do uzyskania pola, które czasami pobiera wartość z bazy danych (unikatowej), a czasem jest ustawiane przez mój kod (gdy używam go do grupowania)?

Czy są jakieś adnotacje, które mogą pomóc, więc kiedy przypisuję wartość, która jest tą, która jest używana, a kiedy niczego nie przypisuję, automatycznie otrzymuje nowy identyfikator?

Odpowiedzi:

1 dla odpowiedzi № 1

Jedynym sposobem na to i wygenerowanie wartości przez DB jest użycie wyzwalacza. Ponieważ jest to projekt oparty na kodzie, być może nie chcesz tego robić.

Najlepszym rozwiązaniem, IMHO, byłoby zrobienieGroupId GUID, a następnie ustaw go na Guid.NewGuid () w konstruktorze obiektu danych. W ten sposób zawsze domyślnie ma unikalną wartość i jeśli ustawisz właściwość, użyje podanej wartości. Domyślnie uzyskujesz wyjątkowość i grupowanie, kiedy chcesz. Ponieważ jest utrzymywany w kodzie, nie musisz się martwić utrzymaniem wyzwalacza w innym miejscu.