C# join子句中某个表达式的类型不正确。调用';时类型推断失败;加入';

C# join子句中某个表达式的类型不正确。调用';时类型推断失败;加入';,c#,linq,C#,Linq,我使用下面的查询连接两个表 IQueryable<BoaPieceConsole> pieceConsoleQueryable; pieceConsoleQueryable = (from js in rewriteEntity.JobSummaries where js.ProductCode != null

我使用下面的查询连接两个表

IQueryable<BoaPieceConsole> pieceConsoleQueryable;
                pieceConsoleQueryable = (from js in rewriteEntity.JobSummaries
                                         where js.ProductCode != null
                                         join bffd in rewriteEntity.BOAFinalFileDatas
                                         on new { js.JobID, prodCode = js.ProductCode } equals new { bffd.ADFJobID, prodCode = bffd.ProductCode }
                                         where js.ProductCode.Equals(ConsoleConstants.DAMAGED_PROD_CODE, StringComparison.OrdinalIgnoreCase)
                                         && js.ProcessDate >= startDate
                                         select new DamageConsoleModel
                                         {
                                             JobID = js.JobID,
                                             Productcode = js.ProductCode
                                         });
IQueryable片段控制台eQueryable;
pieceConsoleQueryable=(来自rewriteEntity.JobSummaries中的js)
其中js.ProductCode!=null
在rewriteEntity.BOAFinalFileDatas中加入bffd
在新的{js.JobID,prodCode=js.ProductCode}上等于新的{bffd.ADFJobID,prodCode=bffd.ProductCode}
其中js.ProductCode.Equals(ConsoleConstants.magned_PROD_CODE,StringComparison.OrdinalIgnoreCase)
&&js.ProcessDate>=开始日期
选择new DamageConsoleModel
{
JobID=js.JobID,
Productcode=js.Productcode
});
我已经解决了这个问题,但无法解决这个问题。 JobSummaries表列ProductCode的类型可为Null,但BOAFinalFileDatas的ProductCode不可为Null。因此,联接引发编译时错误,声明:

join子句中某个表达式的类型不正确。调用“Join”时类型推断失败

ProductCode列的数据类型为varchar。


如何修复此问题?

我认为您需要更改至少一个组合键的部分名称,以便它们匹配

请看这里:

比如:

on new { JobID = js.JobID, prodCode = js.ProductCode } equals new { JobID = bffd.ADFJobID, prodCode = bffd.ProductCode }

使用
js.ProductCode.Value
和别名
bffd.ADFJobID
JobId
@GertArnold-我得到的
字符串不包含值定义
@GertArnold-我的坏,完全没有提到数据类型。也更新了问题主体。