我有以下代码。我想检查结果是null
是否带有if条件,但它总是显示错误。怎么解决这个问题?
string StrRefNo = Request.QueryString["ref"];
string[] SMSid = StrRefNo.Split('$');
DownloadsDbEntities db = new DownloadsDbEntities();
var data = (from d in db.SMSLink_Expiry
where d.RefNo == SMSid[0]
&& d.SMSLink.ID == Convert.ToInt32(SMSid[1])
select d).ToList();
if (data.Count > 0)
{
string ss = "yes";
}
LINQ to Entities中不支持LINQ表达式节点类型'ArrayIndex'。
答案 0 :(得分:1)
由于表达式无法转换为SQL,因此请将其从语句
中删除Newtonsoft.Json
答案 1 :(得分:0)
这可以解决您的问题:
{{1}}
Linq不支持很多东西,因为它在内部将查询转换为SQL。
供参考:The LINQ expression node type 'ArrayIndex' is not supported in LINQ to Entities
答案 2 :(得分:0)
你可以试试这个:
string[] SMSid = StrRefNo.Split('$');
var refno=SMSid[0];
var id=Convert.ToInt32(SMSid[1];
DownloadsDbEntities db = new DownloadsDbEntities();
var data = (from d in db.SMSLink_Expiry
where d.RefNo == refno
&& d.SMSLink.ID == id)
select d).ToList();