如何在LINQ中的一对多关系表中进行过滤?

时间:2016-12-10 02:29:19

标签: linq entity-framework-core

我有EVENTS和CATEGORY表。一个事件可能有多个类别关联。所以它是一对多的。

当我尝试过滤CATEGORY表时,我收到错误 ArgumentException:属性表达式i => i.Category.CategoryName.Contains("Social")无效。表达式应表示属性访问:t => t.MyProperty。有关包含相关数据的更多信息,请参阅Loading Related Data

这是我的代码

   var viewModel = new EventIndexData();
            viewModel.Events = await _context.Events
                                 .Include(i => i.Categories)
                                    .ThenInclude(i => i.Category.CategoryName.Contains("Social"))
                                    .AsNoTracking()
                                 .ToListAsync();

var viewModel = new EventIndexData(); viewModel.Events = await _context.Events .Include(i => i.Categories) .ThenInclude(i => i.Category.CategoryName.Contains("Social")) .AsNoTracking() .ToListAsync(); 任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

首先需要创建一个查询并附加条件:

=LEFT(A20,LEN(A20)-7)

我不确定您的对象名称,但您可以修复代码。