首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用entity-framework从查询结果中去除重复的列?

如何使用entity-framework从查询结果中去除重复的列?
EN

Stack Overflow用户
提问于 2010-04-26 09:18:12
回答 2查看 997关注 0票数 0

在我的数据库表上我有

代码语言:javascript
复制
Key    | Value
a      | 1
a      | 2
b      | 11
c      | 1
d      | 2
b      | 3

但我只需要获取键不是前一行的副本的项。期望的结果应该是:

代码语言:javascript
复制
Key    | Value
a      | 1
b      | 11
c      | 1
d      | 2

我们如何使用entity-framework获得期望的结果?

注意:我们需要第一个值。非常感谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-26 23:48:26

代码语言:javascript
复制
var q = from e in Context.MyTable
        group e by e.Key into g
        select new 
        {
            Key = g.Key,
            Value = g.OrderBy(v => v.Value).FirstOrDefault()
        };
票数 2
EN

Stack Overflow用户

发布于 2010-04-26 12:30:11

您应该考虑在数据库中编写一个视图并将您的实体映射到该视图。或者在EDMX的一部分中创建一个DefiningQuery (也就是SSDL文件中结束的部分)。

有关详细信息,请参阅Tip 34

从概念上讲,这两种方法都允许您编写一个排除“重复行”的视图。不同之处在于视图所在的位置。

如果你能控制数据库--我会把视图放在数据库里,如果没有,你可以把视图放在你的内部,然后映射到里面。

希望这能有所帮助

亚历克斯

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2710644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档