我被困在类型匹配问题上。我首先通过检查以下内容来确保我的语法正确:
我试图替换我的所有条件,并注意到我的类型不匹配。这是我的代码:
var waQ = someRepository.GetAllQ();
var wrQ = someOtherRepository.GetAllQ();
query = waQ
.GroupJoin(wrQ,
wa => new { wa.someInt, wa.someNullableInt },
wr => new { wr.someMatchingInt, wr.someNonNullableInt },
(wa, wr) => new { wa,
reqOrderID = wr.FirstOrDefault().someMatchingInt,
reqWorkerID = wr.FirstOrDefault().someNonNullableInt
})
.Select([etc.]);
具体来说,我得到的错误是无法从用法中推断出类型参数。我相信潜在的错误是我无法将可为空的 int 与不可为空的 int 匹配。
但是,我很难找到解决方法。我尝试将不可为空的 int 强制转换为“作为 int?” 我得到了这个错误:
无效的匿名类型成员声明符。必须使用成员分配、简单名称或成员访问来声明匿名类型成员。
我也尝试过(int?)并尝试将它们都转换为字符串(.ToString())。没运气。
有没有人有什么建议?
在你提出建议之前,我不能让 wa.someNullableInt 不可为空,这对程序也没有意义。
提前感谢您的帮助!