我希望编写一个非常简单的LINQ查询以列出数据库中的项目。这是我的模型的样子:
public class UsersContext : DbContext
{
public UsersContext()
: base("DefaultConnection")
{
}
public DbSet<UserProfile> UserProfiles { get; set; }
public DbSet<Membership> Membership { get; set; }
public DbSet<Role> Roles { get; set; }
}
[Table("UserProfile")]
public class UserProfile
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public string UserName { get; set; }
public string Email { get; set; }
}
[Table("webpages_Roles")]
public class Role
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int RoleId { get; set; }
public string RoleName { get; set; }
}
这是我的控制人:
public class AccountController : Controller
{
public ActionResult UserList(string username)
{
using (UsersContext db = new UsersContext())
{
var username = UserProfile.UserNames.ToList()
;
return View(username)
}
}
有人可以告诉我此查询应如何工作。我真的希望能够以列表格式列出视图中的所有用户名
查看:
@model IEnumerable<Comtrex_ICU.Models.UserProfile>
@{
ViewBag.Title = "UserTable";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2 class="admin-home-link orange-titles">@Html.ActionLink("User
Information", "AdminIndex")</h2>
<p> </p>
@foreach (var item in Model)
{
<p></p>@Html.DisplayFor(modelItem => item.UserName)
}
答案 0 :(得分:1)
db.UserProfiles
将返回UserProfiles
表中的所有行
因此,您可以尝试var userProfiles = db.UserProfiles.ToList();
获取此行上的列表,并且模型应为@model IEnumerable<Comtrex_ICU.Models.UserProfile>
答案 1 :(得分:0)
public class AccountController : Controller
{
public ActionResult UserList(string username)
{
using (UsersContext db = new UsersContext())
{
var username = db.UserProfiles.Select(x => x.UserName ).ToList();
return View(username)
}
}