2010-12-03 111 views
0

我不得不intvarchar比較LINQ查詢LINQ功能上型轉換失敗

soemthing = Lookups.Where(Function(lookupToSearch) lookupToSearch.ServiceFeature = 
CONST_ServiceFeature_EventLog And _ 
lookupToSearch.Name = CONST_ActivityTypeLookup_Name And _ 
lookupToSearch.Value = type.ToString()).FirstOrDefault.EntityKey 

lookupToSearch.Valuevarchar typeenum

一些在lookuptosearch值都字母和它們未能轉換爲int

考慮到我無法更改混合字母和數字的數據,解決此問題的最佳方法是什麼?

回答

0

我不確定,但從您的代碼,我猜數據庫不支持「類型」變量的數據類型,也不是它轉換爲字符串。所以我的建議是在查詢數據庫之前將類型var轉換爲字符串,並將lookupToSearch.Value與表示type.ToString()的字符串變量進行比較。

Dim str as String 
str = type.ToString() 
soemthing = Lookups.Where(Function(lookupToSearch) lookupToSearch.ServiceFeature = 
CONST_ServiceFeature_EventLog And _ 
lookupToSearch.Name = CONST_ActivityTypeLookup_Name And _ 
lookupToSearch.Value = str).FirstOrDefault.EntityKey 
+0

工作表示感謝。我嘗試了像ToString()像lookupToSearch.Value = type.ToString(),它返回一個錯誤。關於空對象的東西。 – Tigran 2010-12-04 16:28:13