如果在运行LINQ后没有匹配,变量会保持什么

时间:2014-04-11 01:53:17

标签: c# linq linq-to-sql webmethod

[WebMethod]
public List<FavoritesTO> getFavorites(string username)
{
    using (FavoritesDataContext db = new FavoritesDataContext ())
    {
        var query = from row in db.Favorites
                    where username == row.username
                    select row.imdbId;
        // here
    }
}

在标记为此处的区域中,查询变量将保留什么,例如,如果我的表中没有与传递给函数的用户名匹配的用户名?

2 个答案:

答案 0 :(得分:5)

query的值只是查询 - 在您尝试评估结果之前,没有人知道是否有任何结果。之后,我怀疑LINQ to SQL会缓存结果 - 但它仍然概念只是一个查询。

如果您要询问它是否为null,不是 - 它只是一个空序列。因此query.Count()将返回0,query.Any()将返回false等。

答案 1 :(得分:0)

IEnumerable<Favorites>