C# 指定的强制转换在linq到sql中无效

C# 指定的强制转换在linq到sql中无效,c#,linq,casting,C#,Linq,Casting,我使用了以下代码: int i = Int32.Parse(dataGridView2.Rows[rowID].Cells["ProfID"].Value.ToString()); var db = new bouDataDataContext(); var sel = db.Payments.Where(c => c.WTID == wtID && c.ProfID == i).Single(); 并且c.WTID在数据库中定义为整数,但我收到以下错误: 指定的强制转换

我使用了以下代码:

int i = Int32.Parse(dataGridView2.Rows[rowID].Cells["ProfID"].Value.ToString());
var db = new bouDataDataContext();
var sel = db.Payments.Where(c => c.WTID == wtID && c.ProfID == i).Single();
并且
c.WTID
在数据库中定义为整数,但我收到以下错误:

指定的强制转换无效


我想这是因为你在做

c.ProfID == i
其中c.ProfID是字符串,i是整数,如果不是,则

var sel = db.Payments.Where(c => c.WTID == (int)wtID && c.ProfID == i).Single();

应该行,就是,,如果
wtID
可以强制转换为整数

如果隐式强制转换不起作用-显式强制转换应该如何进行?支付类中定义的wtID和ProfID类型是什么?数据库中定义的wtID和ProfID为inttype@HadiKhodayari我问你在Payment类中定义的类型。我想错误在第三行?如果是这样,那么您的代码中没有理由会出现这种异常,是否还涉及到更多的代码?