Avatar
Andrej Farkaš:

Ahojte,
učím sa ASP.NET MVC a snažím sa trochu upraviť tunajší tutoriál. Chcem aby, každý článok spadal do nejakej kategórie, takže mám dve triedy Article a Category:

    public class Category
    {
        [Key]
        public int Id { get; set; }

        [Required]
        [Display(Name = "Názov")]
        public string Name { get; set; }

        public virtual ICollection<Article> Articles { get; set; }
    }

 public class Article
    {
        [Key]
        public int Id { get; set; }

        [AllowHtml]
        [Required]
        [Display(Name="Obsah")]
        public string Content { get; set; }

        [Required]
        [Display(Name = "Nadpis")]
        public string Title { get; set; }

        [Required]
        [Display(Name = "Popis")]
        public string Description { get; set; }

        [HiddenInput(DisplayValue=false)]
        public DateTime Created { get; set; }

        public int CategoryId { get; set; }

        public virtual Category Category { get; set; }
    }

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
    {
        public ApplicationDbContext()
            : base("DefaultConnection")
        {
        }

        public System.Data.Entity.DbSet<andrejfarkas.Models.Article> Articles { get; set; }
        public System.Data.Entity.DbSet<andrejfarkas.Models.Category> Categories { get; set; }
    }

V zozname článkov, chcem zobrazovať kategórie a podľa nich filtrovať. Je správny spôsob posielať do view ako Model daný DbContext? A ešte jedna otázka: sú tie modely v poriadku?

Vďaka za odpoveď.

Odpovědět 5.5.2014 11:17
Live. Love. Learn.
Avatar
Lako
Člen
Avatar
Odpovídá na Andrej Farkaš
Lako:

Modely se zdají být v pořádku.. DbContext do view neposílej..
Pokud to chceš udělat uplně správně (když bude aplikace větší, tak se ti to bude hodit), udělej si pro každé view nový viewModel. V controlleru naplň viewModel daty, které sosneš z toho dbContextu..

 
Nahoru Odpovědět  +1 5.5.2014 14:20
Avatar
Odpovídá na Lako
Andrej Farkaš:

Aj som si myslel, ďakujem :)

Nahoru Odpovědět 5.5.2014 14:25
Live. Love. Learn.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.