LINQ:获取具有匹配记录的字母列表

时间:2009-09-17 10:15:59

标签: c# algorithm linq-to-sql

好的,我认为这是一个有趣的问题

我有一个db中的项目列表,其中包含作者。 (1对1的关系,“authorId”是外键)。

我需要在字母表中找到一个字母列表,其中有一个用户可以匹配它(按姓氏)

例如,假设数据库中只有3个项目。他们是由Car先生,Jam女士和Toffee博士捐赠的。

该方法将返回一个字母数组(C,J和T)。实际上更有用的是整个字母表的列表,而C J和T项目将具有某种“活动”布尔值。

原因是我最终会有一个贡献者的网页,其中有一个字母表中的字母列表,用户可以按一个字母并获得一个贡献者列表。但我需要能够只启用有贡献者的信件。从用户列表中拉出来并不够好,因为有些用户不会做出任何贡献。

我有一个方法可以让所有贡献者开始:

    return from u in users.All()
           where items.All().Count(i => i.authorId == u.id) > 0
           select u;

1 个答案:

答案 0 :(得分:3)

怎么样:

。选择(U => u.Surname.Substring(0,1))。鲜明()

然后,您可以很容易地将其加入到字母表中所有字母的列表中。

麦克