Diskuze: ASP.NET MVC partialview z vazební tabulky

C# .NET .NET (C# a Visual Basic) ASP.NET MVC partialview z vazební tabulky American English version English version

Avatar
Michal Štěpánek:

Ahoj, prosím o pomoc, už se v tom několik dnů plácám jak nudle v bandasce a ze žádných dostupných zdrojů jsem nebyl schopen pochopit postup řešení. Mám třídy a tabulky (budovy a střediska), vytvořila se mi i vazební tabulka, kde se přiřazují střediska k určité budově (M:N)

public class Building
    {
        public int BuildingId { get; set; }
        public string BuildingShortName { get; set; }
        public string BuildingName { get; set; }
        public bool Active { get; set; }
        public virtual ICollection<Workplace> Workplaces { get; set; }
   }

public class Workplace
    {
        public int WorkplaceId { get; set; }
        public string WorkplaceNumber { get; set; }
        public string WorkplaceName { get; set; }
        public string WorkplaceFullName { get; set; }
        public bool Active { get; set; }
        public virtual ICollection<Building> Buildings { get; set; }
   }

Vazební tabulka obsahuje pouze sloupce "BuildingRefId" a "WorkplaceRefId" s vazbami na ID sloupce uvedených tabulek.
Snažím se o to, abych v detailu budovy měl zobrazeno jako partialview, jaká střediska jsou k dané budově přiřazena. Mohl by mi prosím někdo poradit? Jaký vytvořit ViewModel, Controller... ?

Odpovědět 30. listopadu 10:30
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
vajkuba1234
Člen
Avatar
Odpovídá na Michal Štěpánek
vajkuba1234:

Posli tady prosimte ten DbContext s relacemi

Nahoru Odpovědět 1. prosince 2:59
No hope, no future, JUST WAR! For world peace Israel must be DESTROYED!
Avatar
Odpovídá na vajkuba1234
Michal Štěpánek:

DbContext mám takto

public class TechnicianDBContext : IdentityDbContext<User, Role, int, UserLogin, UserRole, UserClaim>
    {
        public TechnicianDBContext() : base("Name=DefaultConnection") { }
        public static TechnicianDBContext Create() { return new TechnicianDBContext(); }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);
            modelBuilder.Entity<User>().ToTable("Users");
            modelBuilder.Entity<Role>().ToTable("Roles");
            modelBuilder.Entity<UserRole>().ToTable("UserRole");
            modelBuilder.Entity<UserClaim>().ToTable("UserClaims");
            modelBuilder.Entity<UserLogin>().ToTable("UserLogins");
            //modelBuilder.Entity<RequestCategory>().ToTable("RequestCategories");
            //modelBuilder.Entity<RequestNote>().ToTable("RequestNotes");
            modelBuilder.Entity<Building>()
                .HasMany<Workplace>(w => w.Workplaces)
                .WithMany(b => b.Buildings)
                .Map(bw =>
                {
                    bw.MapLeftKey("BuildingRefId");
                    bw.MapRightKey("WorkplaceRefId");
                    bw.ToTable("BuildingWorkplaces");
                });

        }

        //Budovy
        public DbSet<Building> Buildings { get; set; }
        //Střediska
        public DbSet<Workplace> BuildingWorkplaces { get; set; }
        //Přiřazení středisek k budovám
        public DbSet<WorkplaceInBuilding> WorkplaceInBuildings { get; set; }
        //Číselník stavů požadavku
        public DbSet<RequestState> RequestStates { get; set; }
        //Číselník firem
        public DbSet<Company> Companies { get; set; }
        //Číselník oborů činnosti firem
        public DbSet<Specialization> Specializations { get; set; }
        //Přiřazení oboru činnosti firmě
        public DbSet<CompanySpecialization> CompanySpecializations { get; set; }
        //Profese dělníků
        public DbSet<Profession> Professions { get; set; }
        //Dělníci
        public DbSet<Worker> Workers { get; set; }
        //poznámky
        public DbSet<RequestNote> RequestNotes { get; set; }
        //kategorie požadavků
        public DbSet<RequestCategory> RequestCategories { get; set; }
        //požadavky
        public DbSet<Request> Requests { get; set; }

        public System.Data.Entity.DbSet<Technician.Models.UserRole> UserRole { get; set; }


    }
}
Nahoru Odpovědět 1. prosince 7:53
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
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.