0

我在使用 MVC3 框架并从我的数据库中提取特定数据时遇到问题:

以下 ActionResult 包含一个名为 searchString 的字符串,并且是一个 Director Name,我想使用搜索字符串来检索与该名称匹配的数据并将其传递给视图,以便它可以显示:

    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>
}

如果你只想得到一个导演,你可以使用 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 回答