Asp.net MVC5 Prosty projekt

0

Cześć. Za niedługo przymierzam się do pisania inżynierki, wybór padł na apkę webową, w której chce użyć asp.net mvc5. Na fronta leci bootstrap żeby za dużo sie nie przemęczać, ale piszę ten temat głównie w kierunku asp.net mvc

Pierwsze pytanie to jakiej bazy najlepiej użyć? Baza będzie posiadała pare encji które będą między sobą miały pewne relacje
Drugie pytanie to gdzie mogę znaleźć jakieś informacje jak pushować dane do encji, w której znajduje się np klucz obcy? Chodzi mi tutaj stricte o mechanizm asp.net
Trzecie pytanie: jakie zabezpieczenia użyć najlepiej? Zająć się nimi dopiero pod koniec, gdy wszystko będzie działało czy równolegle z implementacją aplikacji?

Macie jakieś dodatkowe porady, wskazówki, jak zacząć żeby to miało ręce i nogi? a może przed czymś przestrzec byście chcieli? :)

serdecznie dziękuje za pomoc!

0

MSSQL + EF powinno być najprościej

0

A jak myślicie żeby zaimplementować mechanizm pushowania na baze? Najlepiej zrobić osobną klasę która obsługiwałaby połączenie z DB i tam wysyłała zapytanie SQL'owe z insertem w zależnośći od potrzeby?

0

prosto i lekko to linq2Sql (jako pośrednik połączenia z bazą danych), SQLite/MS SQL

w przypadku Entity Framework : jeśli to rzeczywiście prosty projekt to operacje CUD (bez R - read) można zastosować tworzac generyczna klase z tymi wlasnie metodami (wiele przykladow na necie, a klika ciekawych artykulow dlaczego to nie jest polecane tez znajdziesz) która dziedziczy po dbcontext (jesli chcesz uzyc EF), potem w kodzie robisz tylko Add(encja), Delete(encja), Update(encja). Do odczytu osobna klasa/moduł - mozesz poczytac minimum o CQRS (czyli rozdzielenie operacji CUD od READ w dużym uproszczeniu).

obczaj sobie najprostszy tutorial o Entity Framework ;)

0

W porzadku, zrobie ASP.NET + MSSQL, pytanie moje jest teraz takie:

Czy istniejący mechanizm logowania i rejestracji (identity) można używać do zapisu innych rzeczy do bazy czy raczej powinienem sam to już zrobić?

I generalnie czy ze wzgledu na zlozonosc asp.net identity polecacie zrobic wlasny mechanizm logowania czy jednak zostac przy tym gotowym, co jest?

0

Czy istniejący mechanizm logowania i rejestracji (identity) można używać do zapisu innych rzeczy do bazy czy raczej powinienem sam to już zrobić?

Można, możesz rozszerzać klasy użytkownika o kolejne rzeczy, aby dorzucić mu kolejne cechy na przykład.

0
Czarny Krawiec napisał(a):

W porzadku, zrobie ASP.NET + MSSQL, pytanie moje jest teraz takie:

Czy istniejący mechanizm logowania i rejestracji (identity) można używać do zapisu innych rzeczy do bazy czy raczej powinienem sam to już zrobić?

I generalnie czy ze wzgledu na zlozonosc asp.net identity polecacie zrobic wlasny mechanizm logowania czy jednak zostac przy tym gotowym, co jest?

Będzie bezpieczniej i szybciej użyć Identity, ale niekoniecznie ciekawiej :P

0

W takim razie czy mogę prosić o jakieś porady jak rozszerzyć istniejący mechanizm tak, żebym mógł wrzucać inne dane do innej tabeli?
Pewne jest ze musze dodać nowy model, ale co dalej?

0

Więc już bez problemu zapisuje dane do innej tabeli, ale największy problem mam z tym, że dwie tabele, które są ze sobą połączone relacją 1..n. Jest tabela TaskModel:

    public class TaskModel
    {
        [Key]
        public string Id { get; set; }

        public string Description { get; set; }
        public int Status { get; set; }

        public virtual ICollection<ApplicationUser> UserId { get; set; }

    }

Teraz powinienem też w odpowiedniej klasie dotyczącej Usera wkleić public virtual Taskmodel task {get; set;}, ale pytanie - w które miejsce?

Generalnie największy problem sprawia mi zapisywanie danych do tabeli, w której jest klucz obcy. Bardzo proszę o pomoc, bo bez tego nie pójdę niestety dalej...

0
     [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult AddTask(TaskModel tasks)
        {         
                using (var db = new OtherDbContext())
                {
                    object providerUserKey = (Membership.GetUser().ProviderUserKey);
                    var task = new TaskModel { Description = tasks.Description, Status = tasks.Status, UserId = (ApplicationUser)providerUserKey };
                    db.Tasks.Add(task);
                    db.SaveChanges();
                }
                return View();
        }          

Kontroler ktory zapisuje do bazy. Tak w ogole to przy tym UserId wyskakuje mi błąd że nie można niejawnie przekonwertować applicationuser na Kolekcje ApplicationUser

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