【问题标题】:Error multiple properties with the same name in LINQ queryLINQ 查询中的多个同名属性出错
【发布时间】:2016-06-24 09:06:19
【问题描述】:

我正在处理 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 
            }

【问题讨论】:

  • 你有两个标题栏
  • 这个错误不言自明,不是吗?

标签: c# linq entity-framework-6 linqpad


【解决方案1】:

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

更改您的匿名投影,为第二个 Title 属性指定一个不同的名称。

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

【讨论】:

    【解决方案2】:

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

    尝试指定唯一的名称。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-08
      • 1970-01-01
      • 1970-01-01
      • 2014-02-12
      相关资源
      最近更新 更多