linq函数在类型转换时失败

时间:2010-12-03 21:55:02

标签: linq

我有一个linq查询,比较varcharint

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

解决这个问题的最佳方法是什么,因为我无法更改混合字母和数字的数据?

1 个答案:

答案 0 :(得分:0)

我不确定,但是从您的代码中,我猜数据库不支持“type”变量的数据类型,也不是转换为字符串。所以我的建议是在查询数据库之前将类型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