2011-02-22 105 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)