我想将这个linq变成通用表达式树。
_context.Set<TEntity>().Where<TEntity>(List => !_list.Any(list1 => List1.Id == list.Id))
基本上我的问题是,我有一个泛型类,我想传递列表和一个Dbcontext,从中我想检查列表中的任何值是否存在于DbContext.Table1中,如果它们然后添加它们,如果没有,则删除它们。
我尝试将Expression<Func<TEntity, bool>> match
作为where子句传递,但是当我尝试在泛型类中执行此操作时,我收到此错误,但是当我在主类中执行此操作并明确定义类时,它会起作用。
这个linq在泛型类之外工作 _context.table1.Select(table =&gt;!list.Any(table1 =&gt; table1.Id == table.Id));
当我在_context.Set<TEntity>().Where(match)
这样的通用类中运行它时匹配为table => !list.Any(table1 => table1.Id == table.Id
我收到此错误
此上下文仅支持原始类型或枚举类型。
所以,我想我想在我的泛型类中创建一个表达式我是否正确地使用它?