-1

Linqコマンドを使用して、すべてのレコードの特定の列のデータを選択したい.Hereは私のコードです

    [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);
    }

しかし、それは機能していません。ご案内いただけますか。

4

1 に答える 1

0

2 回選択しようとして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);
}

... または、モデルを変更する必要がある場合は、モデル自体が複数の役割をサポートする必要があります。

これは実際には削除を行っていないことに注意してください。これは、私の意見ではかなり奇妙なアクション名になっています...

于 2013-10-10T12:37:22.900 に答える