如何在linqwhere子句中比较int和string
本文关键字:比较 int string 子句 linqwhere | 更新日期: 2023-09-27 18:27:13
我有一个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 to Entities无法识别方法"System.String"ToString()方法,而此方法无法转换为存储表示
如何在linq查询中进行转换。
您可以使用SqlFunctions.StringConvert
.Where(z => z.MemberName.Contains(param.sSearch)
|| SqlFunctions.StringConvert((double)z.MemberTypeID).Contains(param.sSearch))
.ToString();