Ocena klasy oraz poprawna inicjalizacja pola z klasy nadrzędnej w klasie dziedziczącej

0

Tworzę sobie model użytkownika i mam pytanie.

  1. Proszę o ocenę poniższego fragmencika kodu, czy tak to powinno wyglądać.
  2. Jak w klasie potomnej zainicjować pole z klasy z której dziedziczę? Czym będą się różniły te sposoby przy których są komentarze?

Mam taki kod:

Klasa bazowa:

 public abstract class BaseEntity
    {
        public Guid Id { get; set; }
    }

i klasa dziedzicząca

 public class User : BaseEntity
    {
        public string Name { get; protected set; }
        public string Lastname { get; protected set; }
        public string Login { get; protected set; }
        public string Email { get; protected set; }
        public string Password { get; protected set; }
        public string Salt { get; protected set; }
        public string Role { get; protected set; }
        public DateTime CreatedUtc { get; protected set; }

        public User(string login, string email, string password, string salt )
        {
            base.Id = new Guid(); // czy tak się powinno robić?
            Id = new Guid(); // czy tak?

            Login = login;
            Email = email.ToLowerInvariant();
            Password = password;
            Salt = salt;
            CreatedUtc = DateTime.UtcNow;
        }
    }
0

Oczywiście tam powinno być

base.Id = Guid.NewGuid();
Id=Guid.NewGuid();
0
Id=Guid.NewGuid();
0

Nie używaj DateTime tylko DateTimeOffset. DateTime nie zawiera informacji o strefie czasowej i kiedyś Cie ugryzie.

        public string Password { get; protected set; }
        public string Salt { get; protected set; }

Poczytaj o PBKDF2 - to się prosi o problemy

        public string Name { get; protected set; }
        public string Lastname { get; protected set; }

lepiej zrób jedno pole Imię/nazwa - w Hiszpanii są dwa nazwiska i po jednym nie da się dojść kto jest kto - swoją drogą nie każdy lubi wpisywać swoje imie. Lepiej mieć jedno pole i pozwolić wpisać co się chce

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