C# 简单联接中的LINQ错误-联接子句中某个表达式的类型不正确
我正在尝试使用C# 简单联接中的LINQ错误-联接子句中某个表达式的类型不正确,c#,linq,C#,Linq,我正在尝试使用LINQ执行一个简单的JOIN,但出现了错误 join子句中某个表达式的类型不正确 代码: var select2 = from si in db.San_Imovel join sic in db.San_Imovel_caracteristica <--- ERROR on si.Imovel_Id equals sic.Imovel_Id
LINQ
执行一个简单的JOIN
,但出现了错误
join子句中某个表达式的类型不正确
代码:
var select2 = from si in db.San_Imovel
join sic in db.San_Imovel_caracteristica <--- ERROR
on si.Imovel_Id equals sic.Imovel_Id
where si.Credenciada_Id == credenciada_Id
select new
{
si.Celula_Id,
si.Credenciada_Id,
si.Imovel_Id,
si.NomeArquivo,
si.TipoDsc1,
si.BairroDsc1,
si.AreaRealPrivativa,
si.ValorImovel,
si.ValorCondominio,
si.ValorIPTU,
si.Lat2,
si.Lon2,
si.Bairro1,
si.NomeCidade,
si.Transacao_ID
};
var select2=来自si,单位为db.San_Imovel
在db.San_Imovel_caracteristica中加入sic如果您的属性具有long
和int?
类型,则可以尝试此加入:
var select2 = from si in db.San_Imovel
join sic in db.San_Imovel_caracteristica
.Where(x => x.Imovel_Id.HasValue)
on si.Imovel_Id equals (long)sic.Imovel_Id.Value
where si.Credenciada_Id == credenciada_Id
select new { ... }
si.Imovel_Id和sic.Imovel_Id属于同一类型?si.Imovel_Id和sic.Imovel_Id的数据类型是什么?请确保这两列的数据类型相同,否则您将遇到错误。long
和int?
类型。我将转换类型,几分钟后我可以告诉您是否工作正常。