我尝试使用" contains
"从CRM实体中进行选择键。
我试过这个:
var results = crm.new_supplycontractSet
.Where(x => x.new_city != null &&
x.new_city.Name.Contains("myChars"))
.ToList();
但它给了我这个错误:
无效'其中'条件。实体成员正在调用无效的属性或方法。
和此:
var result = (
from c in crm.new_supplycontractSet
from a in crm.new_comuneSet
where a.new_name.Contains(comune)
where c.new_city.Id == a.Id
select c)
.ToList();
但我无法弄清楚如何做到这一点。第二次尝试给了我这个错误:
A' SelectMany'操作必须先在' Where'按实体ID过滤的操作。
如何通过包含过滤器进行选择? " x.new_city
"是来自crm.new_comuneSet的实体引用。
PS:
我刚刚读到了关于" entity.entityRef.Name.Contains()
"" .contains
"无法访问的内容。因为"名称"财产不是地面级别,因此它不适用于" {{1}}"检查。
答案 0 :(得分:0)
您可以尝试将字段和过滤器转换为小写或大写。
var results = crm.new_supplycontractSet
.Where(x => x.new_city != null &&
x.new_city.Name.ToLower().Contains(("myChars").ToLower()))
.ToList();
我认为如果你改用StartsWith会更好(如果可能的话)。
答案 1 :(得分:0)
最后我明白了。而不是contains
子句,我必须安装SqlClient
并使用以下内容:
results = (from x in crm.new_supplycontractSet
where x.new_city != null
where x.new_address != null
where SqlMethods.Like(x.new_city.Name, "city")
where SqlMethods.Like(x.new_address.Name, "street")
select ....).ToList();
希望这能帮助别人:)