wstrzykiwanie zależności, wzorzec repozytorium w Asp.Net Mvc

0

Witajcie mam pytania na temat wstrzykiwania zależności w Asp.Net Mvc, nie bardzo rozumiem problemu a książki i net nie dość zrozumiale dla mnie opisują. Mam dwie klasy np.

public class Student
{
    public int StudentId { get; set; }
    public string StudentName { get; set; }

    public virtual Standard Standard { get; set; }
}
       
public class Standard
{
    public int StandardId { get; set; }
    public string Description { get; set; }

    public virtual ICollection<Student> Students { get; set; }
} 

plus odpowiednia klasa z encjami (DbSet-sami)

Entity Framework, Code First, kiedy użyję "migracji" do bazy to powstaną tabele z odpowiednimi relacjami. Jak zrobić to z wstrzykiwaniem zależności, aby w bazie powstały te same relacje w bazie. Czy w ogóle takie coś takiego ma sens? Czy w ogóle ten wzorzec do tego służy?
Kolejne będę zadawał później, bo jeszcze temat repository mi pozostaje.

2

Nie, ten wzorzec nie służy do tego.
Dependency injection nie ma nic wspólnego z tworzeniem relacji w bazie danych.

Poczytaj to powinno się rozjaśnić o co chodzi: http://stackoverflow.com/questions/14301389/why-does-one-use-dependency-injection

0

Ok, dzięki. Dzięki również za link, z którego i tak nic nie zrozumiałem (jeden z wielu, które przeczytałem wcześniej), stąd chciałem stworzyć od początku prosty projekt - przykład abym mógł to zrozumieć.

Zacznę inaczej. W wstrzykiwaniu zależności chodzi o usunięcie zależności między klasami. Czy w tych klasach istnieje jakaś zależność? Chodzi mi tu o parametry virtual-ne - czy to można nazwać zależnością?

[Table("Student")]
public class Student
{
    [Key]
    public int StudentId { get; set; }

    public string StudentName { get; set; }
    public int StandartId { get; set; }
 
    public virtual Standard Standard { get; set; }
}
 
[Table("Standard")]
public class Standard
{
    [Key]
    public int StandardId { get; set; }
    public string Description { get; set; }
 
    public virtual ICollection<Student> Students { get; set; }
} 

PS. sorry, będę zadawał nawet najgłupsze pytania, żeby to w końcu jakoś skumać.

0

Dobra znalazłem dobry przykład. Dzięki.

1

Nie, we wstrzykiwaniu zależności nie chodzi o usuwanie zależności ale o usunięcie tworzenia obiektów z wnętrza innych obiektów. I chodzi tu o klasy, które korzystają z logiki ukrytej w innych klasach, nie ormowe klasy mapowane na relacje. Twoje klasy nie mają logiki, bo to tylko pojemniki na dane, więc nie mają żadnych zależności.

0

@somekind dzięki za odp, właśnie przeglądam filmik:

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