0

MVC3フレームワークに問題があり、データベースから特定のデータを抽出しています。

次のActionResultには、searchStringという文字列が含まれており、これはディレクター名です。検索文字列を使用して、名前に一致するデータを取得し、表示できるようにビューに渡します。

    public ActionResult Index(string searchString)
    {
        var director = from d in db.Directors select d;

        director = director.Where(searchString == d.Name);

        return View(director);
    }

ディレクター名は、Director.Nameとしてデータベースに保存されます。

== searchStringという名前のディレクトリを取得するにはどうすればよいですか?

4

2 に答える 2

1

クエリは複数の行に一致する可能性があります。

public ActionResult Index(string searchString)
{
    var directors = 
        from d in db.Directors 
        where d.Name == searchString
        select d;
    return View(directors);
}

これで、ビューを次のように強く入力できますIEnumerable<Director>

@model IEnumerable<Director>
@foreach (var director in Model)
{
    <div>@item.Name</div>
}

ディレクターを1つだけ取得したい場合は、FirstOrDefaultメソッドを使用できます。

var director = 
    (from d in db.Directors 
     where d.Name == searchString
     select d
    ).FirstOrDefault();

これにより、結果セットの最初の行が返されます。クエリに一致する結果がない場合はnullが返されます。

于 2012-04-17T09:05:12.293 に答える
0

使用する

 director = director.Where(d => d.Name == searchString);
于 2012-04-17T09:05:26.900 に答える