我有一个string
参数,我想与int
中的string
和Linq query
进行比较。
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 throw run time exception。
LINQ to Entities无法识别方法'System.String ToString()'方法,并且此方法无法转换为商店 表达
如何在linq查询中进行转换。
答案 0 :(得分:5)
您可以使用SqlFunctions.StringConvert
.Where(z => z.MemberName.Contains(param.sSearch)
|| SqlFunctions.StringConvert((double)z.MemberTypeID).Contains(param.sSearch))
.ToString();