0

我试图克服的情况看起来很简单,但我没有得到我想要的结果。我有一个 EDMX 文件作为我的特定应用程序的模型,并且正在使用 Razor 引擎。

在 EDMX 文件中,我有一个视图,它是来自多个表的数据的汇总,如下所示:

1 1 1

1 2 2

1 3 3

2 1 1

2 2 2

3 1 1

所以前三个记录属于详细信息 1,接下来的两个记录属于详细信息 2,最后一条记录属于详细信息 3。但是我想“转换”这些数据,以便它像这样在网络上显示:

1

---1

---2

---3

2

---1

---2

3

---1

在我看来,我正在做一些非常基本的事情:

 @{
     foreach(var item in Model){
         var items = Model.Where(i => i.ID == item.ID);
         foreach(var itm in items){
           //construct UI loop
         }
     }
  }

我遇到的问题是,当 Lambda 表达式返回正确的行数时,“项目”总是包含重复 n 次的“项目”的值,其中 n 是与给定 ID 关联的行数。

有人可以解释我做错了什么以及为什么这不能像我认为的那样工作吗?

谢谢。

4

1 回答 1

0

提供的代码是正确的。这里的问题是,如果记录在 EDMX 文件中具有相同的 EntityKey,那么它们被认为是相同的记录并显示为相同的记录。这就是我遇到的问题。我在视图中添加了一个 GUID 列,并从视图中的其他列中删除了 EntityKeys,上面的代码运行良好。

于 2012-05-02T19:30:36.493 回答