Mam klasę a w niej kolekcję ICollection, gdzie ma być od 1 do 10 elementów. Można dać ICollection w parametrze konstruktora, czy należy dodawać każdy element oddzielnie (T objekt1, T objekt2 itd)? Wydaje się to problematyczne i mało czytelne, bo wtedy konstruktorów będzie co najmniej ponad 20, z czego większość będzie się jedynie różnić ilością T, które mają trafić do ICollection, ale z drugiej strony i tak będę mieć metody dodającą i
Wszystko
Najnowsze
Archiwum
- 1
- 1
@disease: @3THU5_9r3W: Dzięki.
To był przykład tylko, typ to moja inna klasa.
co tam trzymasz w tej kolekcji? Może warto zastosować bardziej konkretny typ niż object?
To był przykład tylko, typ to moja inna klasa.
- 1
Czy poza dodaniem atrybutu
#naukaprogramowania #csharp #mssql #entityframeworkcore #aspnetcore
[DatabaseGenerated(DatabaseGeneratedOption.Identity)] do właściwości Id powinienem jeszcze coś z tym zrobić, np dodać int Id jako parametr do konstruktora klasy (albo napisać jakąś metodę), czy może atrybut załatwia wszystko i Id tak czy siak będzie ustawione?#naukaprogramowania #csharp #mssql #entityframeworkcore #aspnetcore
@Goglez: [Key] oprócz wskazywania na klucz robi też to samo co [DatabaseGenerated(DatabaseGeneratedOption.Identity)] jak kolumna jest odpowiedniego typu (np. właśnie int) także nic innego oprócz [Key] nie musisz używać do klucza głównego.
- 1
@Goglez:
[DatabaseGenerated(DatabaseGeneratedOption.Identity)] - wartość w danej kolumnie będzie zmieniona tylko podczas dodawania rekordu, nie będzie zmieniana podczas updejtu. Dodajesz go do kolumny, którym chcesz nadać wartość tylko podczas dodawania za pierwszym razem. Np kolumna 'created' z datą rejestracji użytkownika.
[Key] - będzie to klucz główny w tabeli. Jeżeli kolumna nazywa się Id albo jakasNazwaZakończonaId, to nie musisz dodawać tego atrybutu, bo EF automatycznie doda taki klucz (ale dla przejrzystości kodu
[DatabaseGenerated(DatabaseGeneratedOption.Identity)] - wartość w danej kolumnie będzie zmieniona tylko podczas dodawania rekordu, nie będzie zmieniana podczas updejtu. Dodajesz go do kolumny, którym chcesz nadać wartość tylko podczas dodawania za pierwszym razem. Np kolumna 'created' z datą rejestracji użytkownika.
[Key] - będzie to klucz główny w tabeli. Jeżeli kolumna nazywa się Id albo jakasNazwaZakończonaId, to nie musisz dodawać tego atrybutu, bo EF automatycznie doda taki klucz (ale dla przejrzystości kodu
- 3
Mam problem, robię sobie projekt (ASP.NET Core 2.0), gdzie będzie kilka ról (używam JWT), każda będzie rozszerzoną wersją innej (user ma swoje prawa, mod jest userem + modem, admin ma moda plus coś jeszcze itp), prosta hierarchia. Da się zrobić tak, żeby user mógł mieć jedną rolę (skoro jest modem, to wiadomo że jest też userem) z pominięciem niższych i nie dodawać wielu ról do [authorize]? Chodzi mi o to, żeby do
- 2
- 1
@Goglez: services.AddAuthorization(x => x.AddPolicy("IsUserOrAbove", p => p.RequireRole("admin", "mod", "user")));
cos na takiej zasadzie. I potem kontroler oznaczasz:
[Authorize(Policy = "IsUserOrAbove")]
i analogicznie inne
cos na takiej zasadzie. I potem kontroler oznaczasz:
[Authorize(Policy = "IsUserOrAbove")]
i analogicznie inne
- 10
- 1
Czasami to trudno zdefiniować problem tak, żeby się zmieścił w okienku googla ;)
Mam dwa projekty w jednym rozwiązaniu. Jeden z nich to główny projekt (niech będzie
Mam dwa projekty w jednym rozwiązaniu. Jeden z nich to główny projekt (niech będzie
Product.Web - utworzony jako Web App MVC), drugi w zasadzie wyłącznie obsługuje pewnego rodzaju API (nazwijmy go Product.API - utworzony jako Web API). "W zasadzie", ponieważ mam w tym projekcie akcję, która powinna zwrócić normalny kod html. Wynika to z logiki aplikacji - Product.API nie- 0
Treść przeznaczona dla osób powyżej 18 roku życia...
- 0
@singollo: Popatrz na to tak, że po publikacji na jakimś IIS, projekt "Project.API" trafi po prostu do jednej dllki w podkatalogu "bin". Dlatego jeżeli będzie szukał czegoś w ../Views/xxx to będzie to podkatalog z głównego projektu "Product.Web"
- 1
Hej Mirki. Pracuję nad web appem, gdzie FE jest w angularze i mam problem z ustaleniem odpowiedniej konwencji dla obsługi powrotnych statusów z kodami błędów.
Mam na myśli, nie zwracanie prostego BadRequestu ale opakowanie kodów błędów w jakiś model, który mógłby być prosto interpretowany w Angularze.
Więc mam ustalony cel i uważam, że to dobry pomysł ale kompletnie nie mam pomysłu jak to zrealizować. Tzn. za każdym razem zatrzymuje się w momencie
Mam na myśli, nie zwracanie prostego BadRequestu ale opakowanie kodów błędów w jakiś model, który mógłby być prosto interpretowany w Angularze.
Więc mam ustalony cel i uważam, że to dobry pomysł ale kompletnie nie mam pomysłu jak to zrealizować. Tzn. za każdym razem zatrzymuje się w momencie
- 0
@w_o_w: najlepiej chyba dorzucic do pipeline jakis ErrorHandlerMiddleware ktory bedzie lapal wyjatki rzucane przez serwisy, repozytoria lub obiekty domenowe. Niech te obiekty rzucaja wyjatki w sensowny sposob - np. te dotyczace autoryzacji niech beda UnauthorizedAccessException, te z serwisow ServiceException (wlasna klasa dziedziczaca po Exception itp.
Middleware niech na podstawie tego co zlapal (pattern matching) ustawia odpowiedni http status code odpowiedzi i w payload zwraca jakies dodatkowe info w stylu kod
Middleware niech na podstawie tego co zlapal (pattern matching) ustawia odpowiedni http status code odpowiedzi i w payload zwraca jakies dodatkowe info w stylu kod
- 1
@w_o_w: z kolei na froncie daj inny middleware do serwisu obslugjacego zapytania http / fetch. Znane mi frameworki (vue i aurelia ale zakladam ze i kazdy inny sensowny) daja mozliwosc ustawienia interceptorow na wszystkie żądania wychodzace / odpowiedzi wracajace. Mozna wiec w pipeline wstrzyknac prosta kontrole ktora sprawdza jaki kod wrocil z backendu i jezeli jest to cos innego niz 2XX to robi reject na promisie oraz wyswietla np. modala
- 1
Robię sobie taka prościutką aplikację Todo z wykorzystaniem asp net core i jako bazy danych używam mongodb.
W relacyjnej bazie danych zapisywałbym w osobnych tabelach projekty oraz zadania, to też stworzyłbym sobie osobne repozytoria do wykonywania odpowiednich operacji CRUD-owych.
A skoro w MongoDb mogę zapisywać całe obiekty to powinienem stworzyć jedno repozytorium TodoRepository i tam metody w stylu:
- AddProject(),
W relacyjnej bazie danych zapisywałbym w osobnych tabelach projekty oraz zadania, to też stworzyłbym sobie osobne repozytoria do wykonywania odpowiednich operacji CRUD-owych.
A skoro w MongoDb mogę zapisywać całe obiekty to powinienem stworzyć jedno repozytorium TodoRepository i tam metody w stylu:
- AddProject(),
- 1
@bielu000: Nie ma jednego słusznego rozwiązania. Są różne podejścia, ale dobrze jest przyjąć jakiś jeden spójny poziom abstrakcji. Czyli np. ProjectRepository, w którym masz operacje CRUDowe związane z projektem oraz osobne TaskRepository związane z taskami. Dyskusyjne są takie operacje jak AddTaskToProject(), bo to już trochę bardziej płynne, choć w tym konkretnym przypadku bardziej TaskRepository (bo albo to jest w ramach dodawania nowego taska, albo w ramach jego edycji).
Robienie jednego
Robienie jednego
konto usunięte via Android
- 0
@bielu000 nie polecam ani nie zniechęcam ale prawda jest taka że wg zaleceń ms nie powinno się implementowac repozytoriow dla ef w wersji bodajże 6 I wyższych bo dbcontext jako tako jest implementacją wzorca repozytorium i też unit of work czyli możesz robić warstwę serwisów i tam operować na dbcontext
- 3
ASP.NET Core 2 Web API, VS 2017
Mam problem (swój kod wzorowałem na https://www.codeproject.com/Articles/1205160/ASP-NET-Core-Bearer-Authentication)
Dlaczego przy próbie odpalenia programu (https://pastebin.com/iF1ntydq ) wywala mi wyjątek?
Wystąpił wyjątek
Mam problem (swój kod wzorowałem na https://www.codeproject.com/Articles/1205160/ASP-NET-Core-Bearer-Authentication)
Dlaczego przy próbie odpalenia programu (https://pastebin.com/iF1ntydq ) wywala mi wyjątek?
Wystąpił wyjątek
- 1
Jeśli mam artykuł ze swoimi komentarzami w ICollection to gdy zwrócę ten artykuł, to zwrócą się też komentarze? Nie wiem czy w repository powinna być dodatkowa metoda zwracająca te komentarze, czy zwracają się one razem z artykułem.
#naukaprogramowania #aspnet #restful #aspnetcore #entityframework
#naukaprogramowania #aspnet #restful #aspnetcore #entityframework
#aspnet #aspnetcore #csharp #programowanie
Chciałbym dać użytkownikom możliwość używania mojej aplikacji bez konieczności logowania. Generuję więc losowe ciasteczko, które posłuży jako identyfikator w bazie (zamiast nazwy użytkownika w przypadku bycia zalogowanym).
W Asp.NET Core Identity informacje o nazwie i identyfikatorze zalogowanego użytkownika przechowywane są w tym miejscu:
Chciałbym dać użytkownikom możliwość używania mojej aplikacji bez konieczności logowania. Generuję więc losowe ciasteczko, które posłuży jako identyfikator w bazie (zamiast nazwy użytkownika w przypadku bycia zalogowanym).
W Asp.NET Core Identity informacje o nazwie i identyfikatorze zalogowanego użytkownika przechowywane są w tym miejscu:
context.User.Identity.Name- 0
@Priya: mógłbyś zapodać jakiś przykład? albo jakieś szczegóły czego konkretnie szukać?
- 0
@piotrek-5: nie wiem jak Identity w .net core wygląda, ale może to Cię nakierować (przykład w klasycznym .NET)
https://stackoverflow.com/questions/28335353/how-to-extend-available-properties-of-user-identity
https://stackoverflow.com/questions/28335353/how-to-extend-available-properties-of-user-identity
- 2
Elo mireczki. Potrzebuję zrobić chat oraz system powiadomień w czasie rzeczywistym w #aspnetcore rest api i pytanie jak do tego podejść? SignalR Core jest w fazie alpha i nie wiem czy jest obecnie sens tego używać. Jakaś alternatywa do tego? Czy może pisać w czystym AspNetCore.WebSockets?
#dotnet #csharp
#dotnet #csharp
Mirki ma ktoś może pod ręką jakiś sprawdzony schemacik do zrobienia dobrego generatora soli oraz hashowania hasła?
#aspnet #aspnetcore #csharp
#aspnet #aspnetcore #csharp
@pepepanpatryk: Ten z EntityFramework nie da rady?
- 2
Czy konstruktor w klasie użytkownika może (lub powinien albo nie powinien) być też metodą rejestrującą? W moim projekcie nowy użytkownik bez rejestracji nie ma sensu.
#naukaprogramowania #csharp #aspnet #aspnetcore
#naukaprogramowania #csharp #aspnet #aspnetcore
- 16
Treść przeznaczona dla osób powyżej 18 roku życia...
Mam w kontrolerach kilka metod, które pełnią jakąś określoną funkcję (np. sprawdzają czy użytkownik jest właścicielem jakiegoś rekordu w bazie). W każdym z kontrolerów mam ten sam zestaw metod, kopiuję je za każdym razem gdy tworzę nowy kontroler.
Przydałoby się to zebrać jakoś do kupy, żeby wszystkie kontrolery brały te metody z jednego miejsca. Jaki jest na to najlepszy sposób? Jak to się zazwyczaj robi? Użyć (w jakiś sposób) Dependency Injection? Utworzyć
Przydałoby się to zebrać jakoś do kupy, żeby wszystkie kontrolery brały te metody z jednego miejsca. Jaki jest na to najlepszy sposób? Jak to się zazwyczaj robi? Użyć (w jakiś sposób) Dependency Injection? Utworzyć
@Wunderwafel:
Zapytałem Googla i wygląda na to, że w C# nie ma mixinów, więc możesz zignorować to co napisałem wyżej.
Zapytałem Googla i wygląda na to, że w C# nie ma mixinów, więc możesz zignorować to co napisałem wyżej.
- 0
@Wunderwafel: o programowaniu obiektowym to ty za dużo nie wiesz kolego
#aspnet #aspnetcore #programowanie #itsecurity
Zamierzam zmodyfikować trochę mechanizm logowania w mojej aplikacji ASP.net Core i w związku z tym może się pojawić możliwość, że coś przeoczę i w wyniku błędu niepowołane osoby uzyskają dostęp do nieprzeznaczonego dla nich Controllera. Słyszałem, że dobrym pomysłem jest używanie Unit Testów, do automatycznego testowania najistotniejszych części mojej aplikacji, z tym że nigdy czymś takim się nie zajmowałem.
Wyobrażam sobie
Zamierzam zmodyfikować trochę mechanizm logowania w mojej aplikacji ASP.net Core i w związku z tym może się pojawić możliwość, że coś przeoczę i w wyniku błędu niepowołane osoby uzyskają dostęp do nieprzeznaczonego dla nich Controllera. Słyszałem, że dobrym pomysłem jest używanie Unit Testów, do automatycznego testowania najistotniejszych części mojej aplikacji, z tym że nigdy czymś takim się nie zajmowałem.
Wyobrażam sobie
- 1
@Wunderwafel: nie, to nie unit testy. Szukasz narzędzi do pen testów, ale teraz nie przychodzi mi nic konkretnego do głowy.
@Wunderwafel: To nie są testy jednostkowe. To już podchodzi pod testy REST API.
Potrzebujesz narzędzia, w którym przygotowujesz scenariusz - Logowanie -> Kontrolery -> Assert, czy uzyskałeś dostęp czy nie.
Może Postman da radę (To jedyna rzecz, jaka mi przychodzi do głowy. Jeśli nie da rady, to szukaj czegoś innego [Albo pisz sam oddzielną aplikację do testowania.])
Potrzebujesz narzędzia, w którym przygotowujesz scenariusz - Logowanie -> Kontrolery -> Assert, czy uzyskałeś dostęp czy nie.
Może Postman da radę (To jedyna rzecz, jaka mi przychodzi do głowy. Jeśli nie da rady, to szukaj czegoś innego [Albo pisz sam oddzielną aplikację do testowania.])
[ #csharp #dotnet #programowanie #dotnetnews #maavfeed ]
#entityframework
Dariusz Pawlukiewicz - CodeTip #3 – Aktualizacja property w Entity Framework
Nick Branstein - Entity Framework Code First Migrations
#
#entityframework
Dariusz Pawlukiewicz - CodeTip #3 – Aktualizacja property w Entity Framework
Nick Branstein - Entity Framework Code First Migrations
#
2
[EN] HTTP Interface to a class
![[EN] HTTP Interface to a class](https://wykop.pl/cdn/c3397993/link_O7EyH5CtcXur6bnZIcIepj3z390zqqGF,w220h142.jpg)
O tym, jak zarejestrować w DI klasy z biblioteki 'rodzica' oraz wywołać dowolną metodę serwisu poprzez żądanie HTTP.
z- 0
- #
- #
- #
- #
- #
- #
















W dniu 15.05.2018 wydawnictwo VideoPoint wraz z Helionem wydało mój kurs wideo n.t. wprowadzenia do testów w .Net Core 2.0. Z okazji premiery kurs jest w promocyjnej niższej cenie wraz z gratisowym ebook'iem. Wszelkie informacje oraz spis tresci znajduje się na stronie kursu: https://videopoint.pl/go-net-core-2
Pozdrawiam!
#csharp #netcore #aspnetcore #unittest #dotnet #naukaprogramowania #programowanie