2016-04-19 7 views
4

Ich habe ein Modell namens SammanhangMvc Identität: Hinzufügen von Benutzer-ID an einem anderen Tisch

[Key] 
public int SammanhangsID { get; set; } 

public string Namn { get; set; } 

Und ich will die ID des Benutzers als Fremdschlüssel enthalten, so dass ich eine Dropdown-Liste das bekomme all Benutzer in der Datenbank.

I attepmted

public class Sammanhang 
{ 
    [Key] 
    public int SammanhangsID { get; set; } 

    public string Namn { get; set; } 

    public string UserId { get; set; } 
    [ForeignKey("UserId")] 
    public virtual ApplicationUser ApplicationUser { get; set; } 
} 

und innen IdentityModels so etwas wie diese

tut
public class ApplicationUser : IdentityUser 
{ 
    public virtual Sammanhang Sammanhang { get; set; } 
} 

Aber ohne ohne Erfolg, Gibt es trotzdem einen Benutzer Dropdownlist zu erreichen?

+1

'Aber ohne ohne success' - erarbeiten Sie und spezifisch sein. – Igor

+0

Wenn ich versuche, "add-migration" und dann "update-database" im Paket-Manager zu bekommen, bekomme ich: "Das prinzipielle Ende einer Assoziation zwischen den Typen 'IdentitySample.Models.ApplicationUser' und 'Checkin.Models.Sammanhang' konnte nicht ermittelt werden '. Das prinzipielle Ende dieser Zuordnung muss explizit konfiguriert werden, indem entweder die fließende Beziehung API oder Datenanmerkungen verwendet werden. " –

+0

Ihre Fremdschlüsselannotation UserId sollte über Ihrer UserId-Eigenschaft liegen. –

Antwort

0

Hallo Haben Sie dieses Problem gelöst? Ich hatte auch durch diese gewesen und geändert

public virtual ApplicationUser ApplicationUser { get; set; } 

zu

public virtual IdentityUser IdentityUser { get; set; } 

mein Problem gelöst (zumindest ist es die Migration übergeben und die Beziehung war richtig in edmx bauen) Ich glaube, das nicht richtig war Technik, also bitte lassen Sie mich wissen, wenn Sie dies getan haben

0

Versuchen Sie mit einem SelectListItem und anonyme Typen, wenn etwas schnell eingerichtet werden muss.

@Html.DropDownList("Users", new List<SelectListItem> 
{ 
new SelectListItem { Text = "John" }, 
new SelectListItem { Text = "Frank" }, 
new SelectListItem { Text = "Joe" } 
}, "Select User") 

oder ein bestehendes Modell verwenden,

@using (Html.BeginForm()) { 

    <fieldset> 

     <legend>Select Users</legend> 

     <div class="editor-field"> 

      @Html.ListBox("Users", ViewBag.Userslist as MultiSelectList 

      ) 

     </div> 

     <p> 

      <input type="submit" value="Save" /> 

     </p> 

    </fieldset> 

Weitere Informationen unter: http://www.asp.net/mvc/overview/older-versions/working-with-the-dropdownlist-box-and-jquery/using-the-dropdownlist-helper-with-aspnet-mvc

Verwandte Themen