我有一个IQueryable<string>
列表和由db创建的EntityObject.It有几个属性,其中一个属性(名称是SubmittedID)保存这样的值 - &#34; MC535,3782,3781& #34; - 用逗号分割。
我试图在EntityObject&#34; SubmittedID&#34;上找到第一个列表值。正确解析值后的属性。
我是LINQ的新手,所以我很困惑如何正确地做到这一点
例如:
在第一个列表中,有以下值:&#34; 549&#34; ,&#34; 550&#34; 。第二个EntityObject&#34; SubmittedID&#34; property包含一个值:&#34; 5491,5501&#34; (我需要跳过这一行)
在第一个列表中,有一个值为:&#34; 329&#34; 。第二个EntityObject&#34; SubmittedID&#34; property包含一个值:&#34; 329,5146&#34; (我需要得到这一行)
我尝试了这个,但它搜索完全匹配不包含:
var claimRequestNo = from q in this.ObjectContext.GPA_REQUEST
select q.REQUESTNO;
var result = this.ObjectContext.GPA_TRANSACTIONS.Where(p => claimRequestNo.Contains(p.SubmittedID.Replace(",", " "))) ;
答案 0 :(得分:1)
您尝试在第二个对象中找到第一个对象包含类似num1 num2 num3
而是尝试:
var result = this.ObjectContext.GPA_TRANSACTIONS.Where(p => claimRequestNo.Any(c=> p.SubmittedID.Split(',').Contains(c)));
现在,仅当第二个列表包含第一个列表中的至少一个
时