[c#]Linq 查询类型推理失败在加入电话会议

标签: Linq SQLServer C#
发布时间: 2017/2/26 23:02:10
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我看过各种计算器答案,但我不能看到使用 linq 修复我联接的方式。

2 表

var query = from tips in TblTips
            where tips.Id == 30
            join files in TblFiles on tips.Id equals files.Group
            select new { tips, files };

错误︰

Type inference failed in the call to Join

现在小贴士。Id 是一个 int,而文件。组是 varchar

我有尝试去。价值

tips.id.Value       -->  the word Value not working  (most recent linqpad)

(int)files.Group    -->  it doesn't like that ... 

解决方法 1:

问题是类型的,你不能参加表格列的值不相同 !

Convert.ToInt32(column)  should work in linqpad and your c# application just fine.

(我裹在括号和添加 tolist ())

这应该为你工作,如果组为字符串 id 是 int

var query = (from tips in TblTips
            where tips.Id == 30
            join files in TblFiles on tips.Id equals Convert.ToInt32(files.Group)
            select new { tips, files }).ToList();

更新︰

每 OP,我同意他在它应将其他值转换为字符串

var query = (from tips in TblTips
            where tips.Id == 30
            join files in TblFiles on tips.Id.ToString() equals files.Group
            select new { tips, files }).ToList();
官方微信
官方QQ群
31647020