繁体   English   中英

linq中的where子句。

[英]Where clauses in linq .Includes

我有以下声明:

var field = _context.Set<Field>().FromSql($@"SELECT Id, F1, F2, F3
                            FROM Table1")
            .Include(model => model.Table2)
            .Include(model => model.Table2.Table3);

        return PartialView("_IndexGrid", field.ToList());

我想在其中添加where子句,以便可以将单个给定的搜索字符串应用于所有三个实体。 例如,如果我有一个名为search的变量,我希望Table1,Table2和Table3都在search上进行过滤 每个表都将过滤器应用于不同的字段名称。 我该怎么做呢?

你能这样做吗?

var field = _context.Set<Field>().FromSql($@"SELECT Id, F1, F2, F3
                            FROM Table1")
                        .Include(model => model.Table2)
                        .Include(model => model.Table2.Table3)
                        .Select(g => new Field {
                            Foo = g.Stuff,
                            Bar = g.Thing,
                            Baz = g.Table2.Where(t => t.MyName.Equals(search)),
                            Feh = g.Table2.Table3.Where(t => !t.YourName.Equals(search))
                        });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM