Mvc标识:将UserId添加到另一个表

时间:2016-04-19 09:10:30

标签: c# asp.net-mvc asp.net-identity dropdown

我有一个名为Sammanhang的模型

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

public string Namn { get; set; }

我想将用户的id包含为外键,以便我可以获得数据库中所有用户的下拉列表。

我参加了这样的活动

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; }
}

并在IdentityModels内部

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

但是没有成功,无论如何都要实现用户下拉列表?

2 个答案:

答案 0 :(得分:0)

你好解决了这个问题吗? 我也经历过这个并改变了

public virtual ApplicationUser ApplicationUser { get; set; }

public virtual IdentityUser IdentityUser { get; set; }

解决了我的问题(至少它通过了迁移,并且在Edmx中正确构建了关系) 我相信这不是正确的技术,所以如果你完成了,请告诉我

答案 1 :(得分:0)

如果需要快速设置某些内容,请尝试使用SelectListItem和匿名类型。

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

或使用现有的模型,

@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>

有关详情,请访问:http://www.asp.net/mvc/overview/older-versions/working-with-the-dropdownlist-box-and-jquery/using-the-dropdownlist-helper-with-aspnet-mvc