类似于简单的会员UserProfiles
到Roles
在表UserInRoles
我创建之间的关系UserProfiles
到Clients
表中的UserInClients
使用此代码
modelBuilder.Entity<UserProfiles>()
.HasMany<dbClient>(r => r.Clients)
.WithMany(u => u.UserProfiles)
.Map(m =>
{
m.ToTable("webpages_UsersInClients");
m.MapLeftKey("ClientId");
m.MapRightKey("UserId");
});
我UserProfiles
有一个public virtual ICollection<dbClient> Clients { get; set; }
public virtual ICollection<dbClient> Clients { get; set; }
public virtual ICollection<dbClient> Clients { get; set; }
和我的Clients
有一个public virtual ICollection<UserProfiles> UserProfiles { get; set; }
public virtual ICollection<UserProfiles> UserProfiles { get; set; }
- 如果您需要看到模型让我知道我可以张贴
在模型和视图我想
- 显示所有客户端(不同),并显示有多少用户访问该客户端
- 创建一个视图,只显示在客户端用户当前登录被允许查看。
我想这是因为我的访问模式Clients.ClientID的属性一样容易,我一直在努力的事情像Clients.ClientID.select(U => u.UserId ==客户端ID),但我知道得更清楚,知道它现在和将来不行。
我的其他的想法是创建具有CliendID在它的模型和用户名(如它创建的表),所以我可以用我的控制器联接,以找到正确的价值观?
到底是什么我试图accomlish是填充KendoUI
CascadingDropDownList
这条线在我GetCascadeClients
JsonResult
return Json(db.Clients.Select(c => new { ClientID = c.ClientID, ClientName = c.Client }), JsonRequestBehavior.AllowGet);
我的问题是,当我在我的控制,我怎么访问此表由实体框架构建?
编辑:
解决方案: 查询两个答案拼凑起来的
return Json(db.Clients
.Include(c => c.UserProfiles)
.Where(c => c.UserProfiles.`Any(up => up.UserName == User.Identity.Name))`
.Select(c => new
{
ClientID = c.ClientID,
ClientName = c.Client,
UserCount = c.UserProfiles.Count()
}),
JsonRequestBehavior.AllowGet);