将linq中的两个表连接到sql查询

时间:2016-07-20 09:19:37

标签: linq linq-to-sql

大家好我有以下

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();

其中context.tbl_lk_property_types.id是一个int,s.property_type是一个字符串。

我尝试过像这样加入他们

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

和这个

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

但都抛出错误。谁能说清楚我做错了什么?

1 个答案:

答案 0 :(得分:0)

如果您使用的是Entity Framework,则可以使用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();