C# NetSuite-通过复杂查询搜索客户

C# NetSuite-通过复杂查询搜索客户,c#,netsuite,C#,Netsuite,我试图搜索包含以下字段的客户:email或firstName或lastName或id 必须是它们之间的或条件 比如说 var freeText = "shomeone@gmai"; var customers = SearchForCustomersWhoContainsThisData(freeText) 如何在c#中构建此查询 包含此数据的客户的公共列表搜索(字符串搜索\u文本) { CustomerSearch custSearch=新CustomerSearch(); SearchSt

我试图搜索包含以下字段的客户:emailfirstNamelastNameid

必须是它们之间的条件

比如说

var freeText = "shomeone@gmai";
var customers = SearchForCustomersWhoContainsThisData(freeText)
如何在c#中构建此查询

包含此数据的客户的公共列表搜索(字符串搜索\u文本)
{
CustomerSearch custSearch=新CustomerSearch();
SearchStringField searchField=新的SearchStringField();
searchField@operator=SearchStringFieldOperator.contains;
searchField.operatorSpecified=true;
searchField.searchValue=搜索\文本;
CustomerSearchBasic custBasic1=新CustomerSearchBasic();
custBasic1.firstName=搜索字段;
CustomerSearchBasic custBasic2=新CustomerSearchBasic();
custBasic2.lastName=搜索字段;
custSearch.basic=custBasic1;
//custSearch.basic=custBasic2;如何将其添加到
//搜索包含此文本的客户实体
SearchResult response=\u crmNetSuitService.search(custSearch);
var searchResults=response.recordList.Select(t=>(Customer)t.ToList();
返回搜索结果;
}
我希望找到其中一个字段包含此搜索文本的客户:
电子邮件,fName,lName,Id.

根据NetSuite套件的回复Id 31408

Web服务>搜索>如何为一个值或另一个值设置字段过滤器

目前,Web服务搜索不支持表达式。
以搜索字段是一个值或另一个值的位置。必须提交两个搜索请求,然后将结果合并到应用程序代码中。

构建RESTlet是另一种解决方案。
public List<Customer> SearchForCustomersWhoContainsThisData(string search_text)
{
    CustomerSearch custSearch = new CustomerSearch();

    SearchStringField searchField = new SearchStringField();
    searchField.@operator = SearchStringFieldOperator.contains;
    searchField.operatorSpecified = true;
    searchField.searchValue = search_text;
    CustomerSearchBasic custBasic1 = new CustomerSearchBasic();
    custBasic1.firstName = searchField;

    CustomerSearchBasic custBasic2 = new CustomerSearchBasic();
    custBasic2.lastName = searchField;

    custSearch.basic = custBasic1;
    //custSearch.basic = custBasic2; how to add this with or between

    // Search for the customer entity who contains this text
    SearchResult response = _crmNetSuitService.search(custSearch);
    var searchResults = response.recordList.Select(t => (Customer)t).ToList();

    return searchResults;
}