我有一个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抛出运行时异常。
LINQ to Entities无法识别方法'System.String ToString()',并且该方法无法转换为商店表达式。
如何在linq查询中进行掩护。
您可以使用 SqlFunctions.StringConvert
.Where(z => z.MemberName.Contains(param.sSearch) || SqlFunctions.StringConvert((double)z.MemberTypeID).Contains(param.sSearch)) .ToString();