我想要克服的情况看似简单,但我没有得到我想要的结果。我有一个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表达式返回正确的行数时,'items'总是包含重复n次的'item'的值,其中n是与给定ID相关联的行数
有人可以解释我做错了什么以及为什么这不起作用,因为我认为应该这样做?
感谢。
答案 0 :(得分:0)
提供的代码是正确的。这里的问题是,如果EDMX文件中的记录具有相同的EntityKey,则它们被视为相同的记录并显示为这样。这是我遇到的问题。我在视图中添加了一个GUID列,并从视图中的其他列中删除了EntityKeys,上面的代码运行正常。