我想使用Linq命令选择所有记录的特定列的数据。这是我的代码
[HttpGet]
public ActionResult DeleteRole(RoleManager model)
{
string [] getRole = (from r in Session.Query<RoleManager>()
select r.roleName).ToArray();
foreach( var myrole in getRole)
{
model.roleName = myrole.roleName;
}
return View(model);
}
但它没有用。你能指导我。
答案 0 :(得分:0)
您尝试选择roleName
两次 - 您已经通过第一次选择它做了正确的事情。您还要多次覆盖模型中的roleName
字段/属性,但可能您希望保留所有值。目前尚不清楚model
本来应该做什么,说实话 - 但你应该能够创建一个只有角色的视图:
[HttpGet]
public ActionResult DeleteRole(RoleManager model)
{
string[] roles = (from r in Session.Query<RoleManager>()
select r.roleName).ToArray();
return View(roles);
}
或者直接使用Select
扩展方法,在这种情况下更简单:IMO:
[HttpGet]
public ActionResult DeleteRole(RoleManager model)
{
string[] roles = Session.Query<RoleManager>()
.Select(r => r.roleName)
.ToArray();
return View(roles);
}
...或者如果你做需要修改模型,你需要模型本身来支持多个角色。
请注意,这实际上并没有进行任何删除,这使得我认为这是一个相当奇怪的动作名称......