【发布时间】:2014-03-30 17:17:25
【问题描述】:
我有一个可供具有多个角色的用户访问的页面。角色是:
i) 城镇 ii) 区 iii) 国家
如果用户具有“城镇”角色,则他与城镇相关联,例如洛杉矶。如果用户具有“地区”角色,则他与地区相关联,例如加利福尼亚。如果用户具有“国家”角色,则他与国家相关联,例如美国。
现在我知道洛杉矶不是一个城镇而是一个城市,而加利福尼亚不是一个地区而是一个州。我只是给出这些例子来帮助你理解数据的结构。
每个角色可以查看多个文档。文档与某个部分相关,例如财务、基础设施等
现在,我有一个从数据库中获取全部数据的 SP。然后我想使用 LINQ 对数据进行分组。我想做这样的事情:
GROUP BY Role
--> GROUP BY Section
--> GROUP BY Document
--> IF ROLE is Town --> GROUP BY Town (e.g. Los Angeles)
--> IF ROLE is District --> GROUP BY District (e.g. California)
--> IF ROLE is Country --> GROUP BY Country (e.g. USA)
是否可以使用 LINQ 包含 if 语句的最后一部分?如果是的话,你能给我一个简短的语法例子吗?我正在使用查询语法。提前谢谢你。
【问题讨论】:
-
你不能在三个单独的查询中获取数据吗?这会让事情变得更简单。
-
我也同意@JonSkeet。只需编写 3 个查询,然后合并结果。
-
谢谢 JonSkeet 和 kayson。仔细想想,我认为这是最好的方法。出于好奇,是否可以在 LINQ 中执行包含 if 语句的最后一部分?