2010-12-03 5 views
0
varchar varcharvarchar

linq関数は型変換時に失敗する

との比較を持つlinqクエリがあります。 lookuptosearch int varchar varchar varcharvarcharです。 typeenumです。

lookuptosearchの値の一部は文字で、intに変換できません。

文字と数字の混在したデータを変更できないので、この問題を解決する最善の方法は何ですか?

答えて

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 
+0

ありがとうございました。私は、エラーを返したlookupToSearch.Value = type.ToString()のようなToString()を試してみました。ヌルオブジェクトに関するもの。 – Tigran

関連する問題