2016-07-20 10 views
0

こんにちは、私はcontext.tbl_lk_property_types.idがintであるとs.property_typeが文字列であるは、SQLクエリにLINQで2台

ComplaintData = 
(from s in context.tbl_Complaints 
join t2 in context.tbl_lk_property_types on s.property_type equals t2.id.ToString() 
where s.id == Convert.ToInt32(Request.QueryString["id"]) 
select new { s, t2.text }).ToList(); 

を次ているすべてに参加します。

私はこの

on Convert.ToInt32(s.property_type) equals t2.id 

この

on s.property_type equals t2.id.ToString() 

のようにそれらに参加しようとしているが、両方はエラーをスローします。誰かが私が間違っていることにいくつかの光を当てることができますか?

+0

どのようなエラーが発生しますか? –

+0

私はt2.id.ToString()を実行すると、system.collections.generic.listを暗黙的にsystem.collections.generic.listに変換できません。 –

+0

どのようなタイプのComplaintDataですか?それは特定の型を持っていますか、変数の前に "var"がないだけですか? – HoGo

答えて

0

エンティティフレームワークを使用している場合は、SqlFunctions.StringConvert()メソッドを使用できます。

ComplaintData = 
(from s in context.tbl_Complaints 
join t2 in context.tbl_lk_property_types 
on s.property_type equals SqlFunctions.StringConvert((double)t2.id).Trim() 
where s.id == Convert.ToInt32(Request.QueryString["id"]) 
select new { s, t2.text }).ToList(); 
+0

ご協力いただきありがとうございます。しかし、結局私はSQLを使用して簡単に書き直すことが非常に簡単であることがわかりました –