使用LINQ的WHERE子句

时间:2014-01-16 18:04:58

标签: c# asp.net linq

下面的代码将选择表中的所有行,但我只想选择传递给方法的行的id。我已经尝试了多种方式,现在开始新鲜,看看我是否能让它发挥作用。任何帮助表示赞赏。

这是我的代码:

 [WebMethod]
public static string getProjectByID(int id)
{
    using (dbPSREntities4 myEntities = new dbPSREntities4())
    {
        var thisProject = myEntities.tbProjects.ToList();

        JavaScriptSerializer serializer = new JavaScriptSerializer();
        var json = serializer.Serialize(thisProject);

        return json;
    }
}

2 个答案:

答案 0 :(得分:5)

您需要使用Where方法过滤数据:

var thisProject = myEntities.tbProjects.Where(x => x.yourIdColumn == id).ToList();

答案 1 :(得分:3)

where子句在这里相当简单。您只需要使用lambda表达式来指定您匹配的条件。如果你不熟悉它们,可以在这里找到更多的信息http://msdn.microsoft.com/en-us/library/bb397687.aspx基础知识你有一个变量名称,后面是=>你可以用变量和我做你想做的事情发现最容易将其视为foreach,其中您声明的变量名称是迭代变量(列表中的项目)。

var thisProject = myEntities.tbProjects.Where(x => x.Id == id).ToList();