无法创建具有两个相同名称的匿名类型 属性

Unable to create Anonymous Type with two same name property

我有一个简单的 linq 查询,其中包含匿名类型的连接语句结果。问题是两个属性具有相同的名称。如何让它工作。 假设我有以下代码

Dim retQry = From cb In _entityCtx.CandyBars
             Join soda in _entityCtx.Drinks
             On cb.Id Equals soda.Id
             Select cb.Id, Soda.Id, Soda.Price, cb.Name

我收到错误范围变量 Id 已声明。

更新:找到仅显示 属性 名称的 Microsoft 文档,因此 'Id' 是传递的字段。 在查询表达的匿名类型中 https://msdn.microsoft.com/en-us/library/bb384767.aspx

您不能使用 2 个同名的属性,但可以使用 select 并使用 2 个不同名称的属性创建匿名类型,如下所示:

Select New With {.cbId = cb.Id, .SodaId = Soda.Id, .Price = Soda.Price, .Name = cb.Name}