## MVC之错误写法-在Linq里类型转换
作者:邹爱红 ,撰写时间:2019-1-22
在MVC中,我们时常需要将变量进行类型转换,有时候为了简写代码,我们会在linq里面直接进行类型转换,
好比下面代码
var list = (from tb in mymodels.User
where
tb.UserNumber == strName && tb.Password == strPassword
select tb).ToList();
if (list.Count>0)
{
var list_user = (from tb in mymodels.Proscenium
where
UserID == list[0].UserID
select tb).ToList();
}
但是这时会报错,提示在Linq中无法将
list[0].UserID转换为储存表达式,这是因为在Linq中无法直接进行类型转换,
解决方法:在Linq前面先进行类型转换,再将转换的值放入Linq中,
var list = (from tb in mymodels.User
where
tb.UserNumber == strName && tb.Password == strPassword
select tb).ToList();
if (list.Count>0)
{
var UserID=list[0].UserID;
var list_user =(from tb in mymodels.Proscenium where tb.UserID == UserID
select tb).ToList();
}