Elasticsearch.Nest 教程系列 9-5 转换:Property name inference | 属性名推断
本系列博文是“伪”官方文档翻译(更加本土化),并非完全将官方文档进行翻译,而是在查阅、测试原始文档并转换为自己真知灼见后的“准”翻译。有不同见解 / 说明不周的地方,还请海涵、不吝拍砖 :)
官方文档见此:https://www.elastic.co/guide/en/elasticsearch/client/net-api/current/introduction.html
本系列对应的版本环境:ElasticSearch@7.3.1,NEST@7.3.1,IDE 和开发平台默认为 VS2019,.NET CORE 2.1
在 lambda 表达式 “主体” 上追加后缀
可以将后缀追加到 lambda 表达式的主体上,这在以下情况下很有用:
-
将POCO属性映射为多字段,并且希望对 lambda 表达式使用强类型访问:将后缀追加到生成的字段名称中,以便访问多字段的特定子字段。
.Suffix() 扩展方法可用于此目的,并且当序列化以此方式追加后缀的表达式时,序列化的属性名称将解析为最后一个标记:
1 | Expression<Func<Project, object>> expression = p => p.Name.Suffix("raw"); |
在 lambda 表达式上追加后缀
可以使用.ApplySuffix() 扩展方法将后缀直接应用于 lambda 表达式:
1 | Expression<Func<Project, object>> expression = p => p.Name; |