在 LINQ 查询中使用相同名称的多个属性出错

Error multiple properties with the same name in LINQ query

我正在处理 Linq 查询,但在 functionNavigation_b.Title 列上出现错误。我最初使用 LinqPad 来测试我的查询,

错误

An anonymous type cannot have multiple properties with the same name

LINQ 查询

from functionNavigation in Sys_Nav_Functions
join functionHierarchy in Sys_Nav_FunctionHierarchies on functionNavigation.Function_ID equals functionHierarchy.Function_ID 
join functionNavigation_b in Sys_Nav_Functions on functionHierarchy.Parent_Function_ID equals functionNavigation_b.Function_ID
 select new {
              functionNavigation.Function_ID, 
              functionNavigation.Title, 
              functionNavigation.Hierarchy_Level,
              functionHierarchy.Parent_Function_ID, 
              functionNavigation_b.Title 
            }

匿名 object 不能有两个同名的属性。

改变你的匿名投影,给第二个标题取一个不同的名字属性。

functionNavigation.Function_ID, 
functionNavigation.Title, 
functionNavigation.Hierarchy_Level,
functionHierarchy.Parent_Function_ID, 
TitleB= functionNavigation_b.Title //or ParentTitle, or whatever you want

错误很明显,您有重复的 Title 名称。

尝试指定唯一名称。

functionNavigation.Function_ID, 
functionNavigation.Title, 
functionNavigation.Hierarchy_Level,
functionHierarchy.Parent_Function_ID, 
AnotherTitle= functionNavigation_b.Title