2011-02-22 120 views
3

如何修改以下的LINQ查询,以便orgainizationName包含通配符?如果organizationName是'ABC',我需要'ABC(迈阿密,佛罗里达州)'返回。该模式始终是orgName后跟一个空格,然后是“()”括号中的城市和州。如何在LINQ中使用通配符?

var orgId = dc.Contacts.Where(on => 
on.ContactTypeID == 2 && 
on.IsActive == true && 
on.OrganizationName.Contains(organizationName) 
) 
.Select(on => on.ContactID).SingleOrDefault(); 

谢谢!

+2

我想你需要将资料标准化位。 – 2011-02-22 18:14:49

+0

这是我们必须合作的。组织名称在它自己的一组字段中。我不同意这一点,但它不会很快得到改变。 – DenaliHardtail 2011-02-22 18:59:54

+0

那两个城市的组织呢? Xanatos的回答不会更好... – 2011-02-22 19:42:49

回答

0
on.OrganizationName.StartsWith(organizationName + " ("); 
1
var orgId = dc.Contacts.Where(on => 
    on.ContactTypeID == 2 && 
    on.IsActive == true && 
    on.OrganizationName.StartsWith(organizationName)) 
     .Select(on => on.ContactID).SingleOrDefault(); 
0

你可以使用on.OrganizationName.StartsWith(organizationName)