2016-08-17 99 views
-2

使用实体框架从C#中的模型构建列表。我使用LINQ尝试匹配字段中的前6或7个字符。在除C#以外的语言中,我会使用正则表达式..或者在SQL中使用通配符符号“Like”。下面是我正在使用的代码,并且我得到一个参数异常。参数异常

List<InvoiceHeader> tempData = db.InvoiceHeader 
    .Where(f => f.ivh_invoicenumber.Any(t => f.ivh_invoicenumber.StartsWith(temp))).ToList(); 
+0

什么是'temp'?什么是'ivh_invoicenumber'?你能发布完整的例外吗? –

+3

C#有'Regex',你知道.. – Blorgbeard

+0

是的,我知道C#有Regex ..但是这是通过数组搜索。 –

回答

0

如果ivh_invoicenumbertemp都是字符串类型的

var tempData = db.InvoiceHeader.Where(f => f.ivh_invoicenumber.StartsWith(temp)).ToList(); 

如果temp是一个字符串数组:

var tempData = db.InvoiceHeader 
       .Where(f => temp.Any(t => f.ivh_invoicenumber.StartsWith(t))).ToList();