2014-01-25 4 views
0

У меня есть модель под названием 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 == зарегистрированный пользователь. Я не знаю, где именно мне нужно внести изменения, чтобы заставить его работать.

У меня есть еще один вопрос.

У меня есть AdresModels и RachunekModels в RachunekModels у меня есть внешний ключ от AdresModels, и я хочу связать logged 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; } 

} 

Я действительно не знаю, как это соотнести.

ответ

0

Я не знаю, где именно мне нужно внести изменения, чтобы заставить его работать.

В действии вашего контроллера, который отвечает за запрос модели. Здесь вы должны применить фильтр к вашему запросу, чтобы получить только те элементы, которые соответствуют этим критериям:

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

Точно так я и искал. THX – z48o0

+1

В этом случае, вероятно, следует принять его ответ. –

+0

Но я добавлю еще один вопрос позже. – z48o0

Смежные вопросы