繁体   English   中英

显示登录用户的数据

[英]Displaying data for logged user

我有一个名为AdresModels的模型,就是这样:

namespace App_User.Models
{
public class AdresContext: DbContext
{
        public AdresContext()
            : base("DefaultConnection")
        {
        }

        public DbSet<UserProfile> UserProfiles {get; set;}
        public DbSet<AdresModels> AdresModel { get; set; }
        public DbSet<RachunekModels> RachunekModel { get; set; } 
}


[Table("Adres")]
public class AdresModels
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int AdresID { get; set;}
public virtual int  UserId { get; set; }
[ForeignKey("UserId")]
public virtual UserProfile User {get; set;}
    public string Miejscowosc { get; set; }
    public string Nr_domu { get; set; }
    public string Ulica { get; set; }
    public string Nr_mieszkania { get; set; }


}

}

比我有看法:

    <td>
        @Html.DisplayFor(modelItem => item.User.UserName)
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.Miejscowosc)
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.Nr_domu)
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.Ulica)
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.Nr_mieszkania)
    </td>

现在,我只想在其中UserName ==登录用户的视图中显示此特定数据。 我不知道我到底需要在哪里进行更改以使其正常工作。

我还有一个问题。

我在RachunekModels中有AdresModels和RachunekModels,我从AdresModels中获得了外键,我想将登录的UserID与Adres相关联,而不是为登录的用户显示Rachunek的数据。

public class RachunekContext : DbContext
{
        public RachunekContext()
            : base("DefaultConnection")
        {
        }
        public DbSet<UserProfile> UserProfiles {get; set;}
        public DbSet<AdresModels> AdresModel { get; set; }
        public DbSet<RachunekModels> RachunekModel { get; set; } 
}
[Table("Rachunek")]
public class RachunekModels
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int RachunekID { get; set;}

public virtual int AdresID { get; set; }
[ForeignKey("AdresID")]
public virtual AdresModels Adreses { get; set; }

}

我真的不知道该如何关联。

我不知道我到底需要在哪里进行更改以使其正常工作。

在负责查询模型的控制器操作中。 在这里,您应该对查询应用过滤器,以便仅检索符合此条件的元素:

[Authorize]
public ActionResult Index()
{
    string loggedUser = User.Identity.Name;
    var model = db.AdresModel.Where(x => x.User.UserName == loggedUser).ToList();
    return View(model);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM