我在 LINQ 中有以下语句:
var eventsWithTag = (from occurence in occurrences1
join eventTag in serviceContext.CreateQuery("adx_eventtag_event")
on occurence.Event.GetAttributeValue<Guid>("adx_eventid") equals eventTag.GetAttributeValue<Guid>("adx_eventid")
join tag in serviceContext.CreateQuery("adx_eventtag")
on eventTag.GetAttributeValue<Guid>("adx_eventtagid") equals tag.GetAttributeValue<Guid>("adx_eventtagid")
where tag.GetAttributeValue<string>("adx_name") == "scotland"
select occurence).OrderBy(x => x.Start);
在这种情况下,这适用于“Scotland”的固定字符串搜索。但是我需要替换它以反映当前页面主题。所以基本上我需要更换
== "scotland"
和
== getBranch()
其中 getBranch 将相关分支名称作为字符串返回。
这将导致我尝试
eventsWithTag = (from occurence in occurrences1
join eventTag in serviceContext.CreateQuery("adx_eventtag_event") on occurence.Event.GetAttributeValue<Guid>("adx_eventid") equals eventTag.GetAttributeValue<Guid>("adx_eventid")
join tag in serviceContext.CreateQuery("adx_eventtag") on eventTag.GetAttributeValue<Guid>("adx_eventtagid") equals tag.GetAttributeValue<Guid>("adx_eventtagid")
where tag.GetAttributeValue<string>("adx_name") == getBranch()
select occurence).OrderBy(x => x.Start);
但这不起作用,从我对 LINQ 知之甚少的情况来看,这是因为您不能以这种方式使用变量。
所以我的问题是:如何将上面的 LINQ 查询与分支的动态值一起使用。
请注意:我看过其他关于此的帖子,但我显然没有 LINQ 知识来将它们转移到我的特定需求。刚刚!