LINQ-запрос, включающий массив данных длинного типа - PullRequest
0 голосов
/ 03 апреля 2012

У меня есть запрос Ling, и в этом запросе я хочу получить данные в соответствии с данными в массиве (PrdIdArr).

В 6-й строке u.START_PRD_ID должно сопоставляться с данными в массиве(PrdIdArr), но я не мог

var mainQuery = (from o in db.OPERATIONs
                join u in db.UNITs on o.OP_UNIT_ID equals u.UNIT_ID
                join x in db.XIDs on u.UNIT_ID equals x.UNIT_ID
                where o.OP_OT_CODE == OtCode
                where x.IDTYP_CD == "BSN"
                **where u.START_PRD_ID == PrdIdArr[0]**
                where u.START_PRD_ID == new List<long>(PrdIdArr.Any<long>)
                select new
                {
                    ...

                }).Take(_RowNumber);
var result = mainQuery.ToList();
data = this.Json(result);
data.JsonRequestBehavior = JsonRequestBehavior.AllowGet;

return data;

Я не мог сделать правильный способ сопоставления данных поля (u.START_PRD_ID) с каждыми данными в массиве (PrdIdArr)!

Кто-нибудь может мне помочь, пожалуйста ???

1 Ответ

0 голосов
/ 03 апреля 2012

если вы хотите получить те поля, которые содержатся как в запросе, так и в массиве, используйте intercept?

 var c = a.Intersect(b);

Однако приведенное выше удалит поле дубликатов.

вы также можете использовать содержит

b.Contains(a)
...