我有一個問題,從數據庫中獲取使用LINQ的特定列值的結果。實體框架4.0與LINQ使用子串查詢
這是我的表Customer(Id,Name,Surname,ExternalID)。 ExternalID是一個具有特定字符串模式的varchar列,例如01_johnDoe。
假設我想獲得顧客johnDoe,並且我的mehod得到了字符串johnDoe。
我能夠通過這種方式來做到這一點:
public<Customer> GetMeACustomer(string customerExternalID)
{
using(var context=new MyContext())
{
var customerObject=(from c in contex.Customer where c.ExternalID.Contains(customerExternalID)).Single()
}
}
此代碼是不夠好,只是因爲發送到數據庫查詢使用操作等。這很慢(我有很多客戶)。這段代碼
var example = ExternalIDFromDatabase.Substring(ExternalIDFromDatabase.IndexOf("_") + 1, customerExternalID.Count());
我可以簡單地說
var customerObject=(from c in contex.Customer where c.ExternalID.Substring(c.ExternalID.IndexOf("_") + 1, customerExternalID.Count())==customerExternalID).Single()
但它不工作: 我不能LINQ像這裏面實現。 任何想法? 比你
檢查此[支持和不支持的LINQ方法](http://msdn.microsoft.com/en-us/library/bb738550.aspx) – Krishnakumar