Aktywne Wpisy

#primemma jufko jufko jufko, jak się podoba przygoda we ff? Zadowolony jesteś w ktora stronę to poszło? Teraz już trochę nie masz wyboru, żeby się z tego wycofać i musisz zacisnąć zeby I brnąć do przodu, próbując utrzymać się na powierzchni xD
Czekaj, przed ff byłeś... ojcem, mężem i angażowałeś się politycznie/społecznie (pominmy wszyscy sama politykę, chodzi o zaangażowanie w sprawy ważne na codzień) więc no, porządny gosc możnaby powiedzieć. Teraz?
Płacisz
Czekaj, przed ff byłeś... ojcem, mężem i angażowałeś się politycznie/społecznie (pominmy wszyscy sama politykę, chodzi o zaangażowanie w sprawy ważne na codzień) więc no, porządny gosc możnaby powiedzieć. Teraz?
Płacisz
źródło: scaled_1000004371
Pobierz
rio574 +79
źródło: scaled_1000050643
Pobierz




Robię swój pierwszy webowy projekt z wykorzystaniem ASP.NET Core, staram się robić go według DDD. Zastanawiam się jak powinien zaimplementować repozytoria dla relacji wielu do wielu, czyli UserReviewApproved i UserReviewDisapproved. Póki co umieściłem metody w repozytorium dla Reviews, jedna z funkcji wygląda tak:
public async Task AddUserReviewApprovedAsync(Guid userId, Guid reviewId){
var user = await _userRepository.GetByIdAsync(userId);
if (user == null)
return;
var review = await GetByIdAsync(reviewId);
if (review == null)
return;
var reviewUserApproved = new ReviewUserApproved(user, review);
_context.ReviewUserApproved.Add(reviewUserApproved);
await _context.SaveChangesAsync();
}
I tutaj pojawiają się pytania o poprawnej takiego rozwiązania. A więc:
1. Czy dla UserReviewApproved i UserReviewDisapproved powinienem stworzyć nowe repozytoria.
2. Czy poprawne wzajemne wykorzystywanie się repozytoriów tak jak w przykładzie z walidacją nulla przy userze.
3. Jeśli nie to jak mam walidować nulle, w repozytoriach, serwisach (przesyłanie gotowych obiektów do repozytorium) czy może po prostu zdać się na bazę danych (not null).
źródło: comment_MuU80q0T680gMNYqWp6eNI8jFa1S6ze6.jpg
PobierzTak więc repo:
public async Task AddUserReviewApprovedAsync(Guid userId, Guid
To wyżej tyczy się repo, bo walidację tak jak napisałem robisz poziom niżej w serwisie/kontrolerze i zwracasz odpowiednie kody błędów, żeby klient wiedział co się dzieje. Jeżeli
public async Task GetByIdWithoutOpinionsAsync(Guid id){
var review = await _context.Reviews.Include(c => c.User).Include(c=>c.Course)
.SingleOrDefaultAsync(c => c.Id