我有一个“单”表有些以下结构(除去不必要的列)使用Linq的数据库表中唯一字符串的列表?
int | string | int | ID | Window | Count | ------------------------ 0 | Internet | 10 | 1 | Phone | 20 | 2 | Fax | 15 | 3 | Fax | 10 | 4 | Internet | 5 | . | . | . | . | . | . |
我已映射该表的一类“机票”。所以我可以得到这样的所有记录:
var tickets = from t in db.Tickets select t;
现在我需要获取表中唯一窗口名称的列表。对于上面的表格,列表看起来是这样的:
- 互联网
- 电话
- 传真
反正没有提取所有记录并遍历他们创造这个名单?
我正在使用SQL Server 2008快速版。
编辑: 谢谢你的答案家伙就解决了上述问题。只是贪心,但有没有办法得到每个窗口的总数。例如:
- 互联网= 15
- 手机= 25
- 传真= 20
如果没有更多的数据库端魔术(查找表,触发器等) - 数据库将需要以跨它们应用的不同来获取整个列表。下面的答案是正确的,只需注意数据库仍然会扫描整个表/索引。 – TheSoftwareJedi 2009-05-20 11:12:19
数据库会,但.NET代码不会获取所有记录并在本地迭代它们,这是我怀疑Hemant担心的。 – 2009-05-20 11:30:01