如何使用Linq访问ICollection中项目的属性

时间:2013-11-16 00:29:25

标签: c# asp.net linq asp.net-mvc-4

这是在ASP.NET MVC 4中,

我有一个投资组合表,投资组合类的一个属性是股票的ICollection。股票有一个字符串属性:符号。如果我有投资组合对象,我试图检查特定股票的符号,看它是否符合我要求的。

private PortfolioDb _db = new PortfolioDb();

public ActionResult Index([Bind(Prefix="id")]int portfolioId, 
    string searchTerm = null)
{
      var portfolio = _db.Portoflios
                      .Where(p=> searchTerm == null   || 
                               (p.Id == portfolioId && p.Stocks.Symbol == searchTerm)

所以p.Stocks是我的ICollection股票,我想查看所有股票的符号,看它们是否与searchTerm匹配。但是,我不能p.Stocks.Symbol,我想知道如何访问Stocks集合中每个项目的每个符号。

由于

1 个答案:

答案 0 :(得分:2)

使用.Any查找与searchterm ::

匹配的任何股票的投资组合

&& p.Stocks.Any(s => s.Symbol == searchTerm)