我有一个EventLogEntry对象:创建动态LINQ查询
EventLog aLog = new EventLog("Application");
IEnumerable<EventLogEntry> logentry=aLog.Entries.Cast<EventLogEntry>();
现在我想通过它的InstanceId创建logentry
一个动态LINQ查询。我可以运行这个:
int id=123;
IEnumerable<EventLogEntry> filteredByEventId = logentry.Where((x) => x.InstanceId == id);
但我想在运行时创建linq术语。这样的事情:
int id=123;
int id2=456;
IEnumerable<EventLogEntry> filteredByEventId = logentry.Where((x) => x.InstanceId == id || x.InstanceId == id2);
虽然我得到的是有“id2”也添加在运行时的术语。
更新: 我的主要目标是用户可以要求INSTANCEID范围像 123,456-789,1000-1005 ,我需要建立正确的查询(动态),将显示他一切事件与下面的InstanceId 123和456-789(和1000-1005)
有没有办法做到这一点?
你总是比较ID吗? – James 2012-08-13 20:11:25