我有以下声明:
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子句,以便可以将单个给定的搜索字符串应用于所有三个实体。例如,如果我有一个名为搜索的变量,我希望将Table1,Table2和Table3全部过滤到搜索。每个表将在不同的字段名称上应用过滤器。 我该怎么做呢?
答案 0 :(得分:1)
你能这样做吗?
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))
});