我有一个string参数,我想在Linq query中与int和string进行比较。
var query=(from GRD in _tblMembers.GetQueryable()
select new MembersModel
{
SchoolID = GRD.SchoolID,
MemberID = GRD.MemberID,
MemberReferenceID = GRD.MemberReferenceID,
MemberTypeID = GRD.MemberTypeID,
MemberNo = GRD.MemberNo,
MemberName = GRD.MemberName,
CellNo = GRD.CellNo,
}).Where(z => z.MemberName.Contains(param.sSearch) || z.MemberTypeID.Contains(param.sSearch)).ToString();当我尝试使用ToString()方法将数据库参数转换为字符串类型时,如下所示。
.Where(z => z.MemberName.Contains(param.sSearch) || z.MemberTypeID.ToString().Contains(param.sSearch)).ToString();linq抛出运行时异常。
LINQ到实体不识别方法'System.String ToString()‘方法,并且该方法不能转换为存储表达式。
如何在linq查询中进行转换。
发布于 2015-12-18 08:04:49
您可以使用SqlFunctions.StringConvert
.Where(z => z.MemberName.Contains(param.sSearch)
|| SqlFunctions.StringConvert((double)z.MemberTypeID).Contains(param.sSearch))
.ToString();https://stackoverflow.com/questions/34350926
复制相似问题