如何解决LINQ中的错误:数据为空或空

时间:2016-09-22 07:27:30

标签: c# asp.net linq

我有以下代码。我想检查结果是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'。

3 个答案:

答案 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();