EF4 a generat vizualizări CRUD care au probleme cu relația Creare datorită relației mamă-copil

Sunt relativ nou la .NET și construiesc un site web cu MVC3, EF4, SQL 2008 R2. De asemenea, nu am găsit nimic pe Stack care pare să rezolve direct problema mea, care implică o problemă generată de EF cu o complicație a relației masă părinte-copil.

Site-ul nostru are profile de utilizator (tabel: Profil), care pot avea mai multe înregistrări pe tabelul Social, ceea ce înseamnă că tabelul Social are un FK din ProfileId.

EF4 has generated CRUD views and controller for this Social table, and all works well save for the Create. The Create view auto-generated a drop-down box to allow the user to select which ProfileId they would like, but that's wrong. (I.e., we don't want someone to setup Social information for some other user, duh.) So I turned the drop-down into a @Html.HiddenFor(model => model.ProfileId) and at that point my problems began.

Ce se întâmplă este atunci când fac clic pe butonul CREATE din acea vizualizare, dar nu se întâmplă nimic. Se pare foarte probabil că acest lucru se datorează faptului că pagina nu are Profilul utilizatorului în context și mă întreb ce să schimb pentru a depăși acest obstacol. (Profilul utilizatorului este în context în pagina anterioară, Index.cshtml, deoarece restricționez lista de înregistrări sociale la cele care corespund codului lor de identificare.)

Unele coduri din Model:

using System;
using System.Collections.Generic;

public partial class Social
{
    public int SocialId { get; set; }
    public int ProfileId { get; set; }
    public Nullable ThemeId { get; set; }
    public string Title { get; set; }
    public Nullable CreateDate { get; set; }
    public Nullable LastActivityDate { get; set; }
    public Nullable Active { get; set; }
    public Nullable Publish { get; set; }

    public virtual Profile Profile { get; set; }
    public virtual Theme Theme { get; set; }
}

Cod de comandă:

    public ActionResult Create()
    {
        ViewBag.ProfileId = new SelectList(db.Profiles, "ProfileId", "Profile");
        ViewBag.ThemeId = new SelectList(db.Themes, "ThemeId", "ThemeTitle");
        return View();
    } 

    [HttpPost]
    public ActionResult Create(Social social)
    {
        if (ModelState.IsValid)
        {
            db.Socials.Add(social);
            db.SaveChanges();
            return RedirectToAction("Index");  
        }

        ViewBag.ProfileId = new SelectList(db.Profiles, "ProfileId", "Profile", social.ProfileId);
        ViewBag.ThemeId = new SelectList(db.Themes, "ThemeId", "ThemeTitle", social.ThemeId);
        return View(social);
    }

... și din Vedere:

    <div class="editor-label">
        @Html.LabelFor(model => model.ProfileId, "Profile")
    </div>
    <div class="editor-field">
        @Html.DropDownList("ProfileId", String.Empty)
        @Html.ValidationMessageFor(model => model.ProfileId)
    </div>

Orice ajutor ar fi foarte apreciat!

1