- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试根据用户请求过滤结果。例如,您有 orders
和 order details
而 products
是子集合。
当用户想要按产品过滤时,由于 'ICollection
1' 类型中不存在属性或字段 'PRODUCTS' 而出现错误
我正在这样写我的查询。
var orders = _uow.Repository<ORDERS>()
.Query()
.Where("PRODUCTS.HEADING.ToLower().Contains(\"foo\")")
.Include("ORDER_DETAILS")
.Include("ORDER_DETAILS.PRODUCTS")
.ToList();
所以不可能像这样过滤子集合?或者有什么过滤的方法?
谢谢。
最佳答案
根据您命名类/属性的方式,很难猜测哪个是单个对象,哪个是集合属性。
如果ORDERS
类属性ORDER_DETAILS
是ORDER_DETAILS
类的集合,而ORDER_DETAILS
类属性 PRODUCTS
是具有字符串属性 HEADINGS
的 PRODUCTS
类的单个对象,那么下面应该可以解决问题:
.Where("ORDER_DETAILS.Any(PRODUCTS.HEADING.ToLower().Contains(\"foo\"))")
基本和跳过lambda参数的静态查询一样
.Where(o => o.ORDER_DETAILS.Any(d => d.PRODUCTS.HEADING.ToLower().Contains("foo")))
关于c# - 如何使用 linq dynamic 过滤子集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38118300/
我以前使用过像 Netbeans 和 eclipse 这样的 IDE。 我在 friend 的电脑上下载了“Visual Studio Express 2013 for windows desktop
我正在尝试弄清楚如何在 GBA 大小的 EZ Flash 3 合 1 卡中对 PSRAM 进行编程。基本上重复 GBA Exploader 和其他程序所做的事情。 如果我选择一个 block 并对其进
Filter1=re.findall(r'',PageSource) Filter2=re.findall(r'',PageSource) Filter3=re.findall(r'(.*?).*?'
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许在 Stack Overflow 上提出有关通用计算硬件和软件的问题。您可以编辑问题,使其成为
我是一名优秀的程序员,十分优秀!