1.默认以Id属性为Id,无Id属性则自动生成
2.可通过属性标签指定Id
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | [ElasticsearchType(IdProperty = nameof(last_name))] public class employee { public Guid Id { get ; set ; } = Guid.NewGuid(); public string first_name { get ; set ; } public string last_name { get ; set ; } public int age { get ; set ; } public string about { get ; set ; } public List< string > interests { get ; set ; } public employeedto dto { get ; set ; } } public class employeedto { public Guid Id { get ; set ; } } |
3.初始化client时指定
1 2 3 4 5 | var node = new Uri( "http://192.168.60.222:9200/" ); var settings = new ConnectionSettings(node) .DefaultIndex( "employee" ) .DefaultMappingFor<employee>(x => x.IdProperty(p => p.last_name)); client = new ElasticClient(settings); |
4.索引时指定
1 2 3 4 | public IIndexResponse IndexDoc(employee doc) { return client.Index(doc,x=>x.Id(doc.last_name)); } |

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?