Zaczynam naukę C#, dokładnie staram się stworzyć api w dotNecie do aplikacji mobilnych. W związku z tym mam kilka pytań.
1. Mój projekt utowrzyłem na podstawie tego tutoriala
Zaczałem tworzyć bazę danych metodą "Code First" (czyli tworzę Model i Visual Studio tworzy na jego podstawie bazę). Oto interesujący nas model.
W czym problem? W mojej bazie będę zapisywał linki do stron. Jedną z wartości którą chcę zapisać są tagi. W modelu który utworzyłem, zmienna "tags" jest tablicą stringów.
public string[] tags { get; set; }
Problem w tym, że nie ma tego w bazie. Dane dodałem w ten sposób., a baza danych zwraca to.. Dlaczego jest null?
2. W jednym z Controllerów mam funkcję odpowiadającą za obłsugę zapytania typu PUT [link do kodu]
Interesuje mnie trzecia linijka. Funkcja wymaga tam 2 wartości (te w nawiasach): id i user. O ile "id" prawdopodobnie bierze się z adresu, który podaje klient w zapytaniu do serwera, o tyle nie bardzo wiem skąd się bierze zmienna "user". Zostało to wygenerowane automatycznie, a komentarzy zero :/
3. Znacie jakieś lepsze tutoriale do WebAPI? Bo ten co podałem w pierwszym punkcie jest dość kiepski, bo niewiele rzeczy jest tam wytłumaczonych.
@Pietrek558: Poczytaj lepiej sobie dokładniej o ASP.NET MVC. Jeśli dasz, że tags jest wymagany, to najpewniej nie będzie zwracać Ci wartości null. Popróbuj.
@Pietrek558: Pytanie, jak kolekcja stringów miałaby być zapisana w bazie? Stwórz do tego model Tag z Id i TagName, i utwórz pole public virtual ICollection tags {get; set;}. Zostanie utworzona tabela tagi z relacją do SavedSites, a dzięki wirtualności pola będzie działał Lazy Loading..
Co do pkt 2, prawdopodobnie przekazywany jest tam aktualnie zalogowany użytkownik przy autentykacji.
@Pietrek558: ICollection to interfejs, dzięki temu określasz że potrzebujesz aby model miał jakiś rodzaj pola będącego dowolną kolekcja implementującą ten interfejs. Dzięki czemu nie jesteś zależny od implementacji, i tak w kontrolerach czy ogólnie w aplikacji możesz posługiwać się interfejsem, a tam używać już zarówno list jak i tablic, zależnie od potrzeb i chęci. Gwarancji nie dam, ale wydaje mi się, że istnieje konieczność posługiwania się interfejsem aby była możliwość
Zaczynam naukę C#, dokładnie staram się stworzyć api w dotNecie do aplikacji mobilnych. W związku z tym mam kilka pytań.
1. Mój projekt utowrzyłem na podstawie tego tutoriala
Zaczałem tworzyć bazę danych metodą "Code First" (czyli tworzę Model i Visual Studio tworzy na jego podstawie bazę). Oto interesujący nas model.
W czym problem? W mojej bazie będę zapisywał linki do stron. Jedną z wartości którą chcę zapisać są tagi. W modelu który utworzyłem, zmienna "tags" jest tablicą stringów.
Problem w tym, że nie ma tego w bazie. Dane dodałem w ten sposób., a baza danych zwraca to.. Dlaczego jest null?
2. W jednym z Controllerów mam funkcję odpowiadającą za obłsugę zapytania typu PUT [link do kodu]
Interesuje mnie trzecia linijka. Funkcja wymaga tam 2 wartości (te w nawiasach): id i user. O ile "id" prawdopodobnie bierze się z adresu, który podaje klient w zapytaniu do serwera, o tyle nie bardzo wiem skąd się bierze zmienna "user". Zostało to wygenerowane automatycznie, a komentarzy zero :/
3. Znacie jakieś lepsze tutoriale do WebAPI? Bo ten co podałem w pierwszym punkcie jest dość kiepski, bo niewiele rzeczy jest tam wytłumaczonych.
Co do pkt 2, prawdopodobnie przekazywany jest tam aktualnie zalogowany użytkownik przy autentykacji.