使用Odata无法使用Contains-filter扩展表

时间:2015-10-27 07:07:07

标签: c# expression odata

无法使用Contains-filter扩展表。

 var customersData = await myClient.For<Customer>()
            .Filter(t => t.name.Contains(searchCriteria) || t.PersonTable.ContactNumber.Contains(searchCriteria))
            .Expand(t => new { t.PersonTable, t.AddressesTable })
            .FindEntriesAsync();

你能帮助我,我也尝试使用下面的新版本4.12。

var filter = new ODataExpression<Customer>(t => t.name.Contains(searchCriteria));
        filter = filter || new ODataExpression<PersonTable>(x => x.ContactNumber.Contains(searchCriteria));
        var result3 = await myClient.For<Customer>().Filter(filter).FindEntriesAsync();

1 个答案:

答案 0 :(得分:1)

过滤器泛型类型与您在For子句中使用的类型不同,即您在Customer表上查询并在PersonTable上发送过滤器。库可能应该检测到这个并抛出异常。无论如何,这不会起作用。