2013-08-04 23 views
0

我用这个代码有效:是指在数据库整数指定的强制转换中的LINQ to SQL

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但我收到此错误:

specified Cast is not a valid

+4

什么是'wtID'? –

+0

wtID是整数 –

+0

Payments类中定义的WTID和ProfID的类型是什么? – zsong

回答

0

我想这是因为你正在做

c.ProfID == i 

其中c.ProfID是一个字符串,而我是一个整数,如果没有的话

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

应该工作,也就是说,如果wtID可强制转换为整数

+3

如果隐式转换不起作用 - 应该如何显式转换? –