[英]ElasticSearch Nest Flags c#
基本上我有一个类似于此的标志字段
[Flags]
public enum MyFlags
{
FirstFlag = 1,
SecondFlag = 2
}
public class MyClass
{
public int Id {get;set;}
public MyFlags MyFlagProperty { get; set; }
}
Client.Search<T, TResult>(c=>c.Query ??? )
我的问题是我找不到任何方法来搜索仅需要FirstFlag的条目。 我要解决这个错误吗? 我应该改为使用2个属性吗?
public class MyClass
{
public int Id {get;set;}
public bool MyFirstFlag { get; set; }
public bool MySecondFlag { get; set; }
}
Client.Search<T, TResult>(c => c.Query(d => d.Term("MyFirstFlag", true)));
最好的方法是什么? 您是否建议完全不使用标志,而仅按属性进行操作?
您可以在这里采取几种方法
JsonConverter
将带有FlagsAttribute
的枚举序列化为一个集合,并将一个序列反序列化为一个枚举 我个人选择了数字2,因为它可以让您按代码中的方式使用枚举,但是将字段存储为集合在Elasticsearch中并轻松查询。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.