首页新闻找找看学习计划

急求教 linq表达式 提取数据

0
[已关闭问题] 关闭于 2015-09-09 09:19

在数据库有这么些数据:

id       name    text    date

2      张三    波波    2015-07-07

3      张三    波波    2015-07-07

4      张三    波波    2015-07-07

5      张三    探戈    2015-08-20

6      张三    探戈    2015-08-20

7      张三    探戈    2015-08-20

8      张三    探戈    2015-08-20

想通过linq表达式,从数据库获取出来所有数据后进行提取,最后组合成这样

id       name    text    date

2      张三    波波    2015-07-07

5      张三    探戈    2015-08-20

有哪位大神会的,,,教教新手,,先谢了

玩世不恭的雷寅的主页 玩世不恭的雷寅 | 初学一级 | 园豆:38
提问于:2015-07-31 16:46
< >
分享
所有回答(5)
0

都没看明白什么意思。。。

顾晓北 | 园豆:9520 (大侠五级) | 2015-07-31 16:50

它想要的就是对 name、text、date distinct。

支持(1) 反对(0) Launcher | 园豆:44980 (高人七级) | 2015-07-31 17:00

@Launcher: 是的,没错

支持(0) 反对(0) 玩世不恭的雷寅 | 园豆:38 (初学一级) | 2015-08-03 09:28
0

好像可以直接对集合distinct吧。

小林丶2013 | 园豆:2 (初学一级) | 2015-07-31 17:19

试过的,但是如何select出来三个字段?

支持(0) 反对(0) 玩世不恭的雷寅 | 园豆:38 (初学一级) | 2015-08-03 09:28
支持(0) 反对(0) Launcher | 园豆:44980 (高人七级) | 2015-08-03 09:30

@玩世不恭的雷寅: linq里面的去除重复我记得应该是面向整个对象的,好像单个和多个字段不行。

支持(0) 反对(0) 小林丶2013 | 园豆:2 (初学一级) | 2015-08-03 09:30
0

自己查查LINQ怎么使用Group 吧。

爱编程的大叔 | 园豆:29788 (高人七级) | 2015-08-01 10:25
0

试试这个,var value=(from v in db.tbl select v.name).Distinct().ToList();

类菌体 | 园豆:271 (菜鸟二级) | 2015-08-01 10:47

我用过这种方式,但是查询出来的数据只有对name值的筛选,我想最后distinct出的数据有name、text和date三个字段

支持(0) 反对(0) 玩世不恭的雷寅 | 园豆:38 (初学一级) | 2015-08-03 09:27

@玩世不恭的雷寅: @玩世不恭的雷寅: http://blog.csdn.net/q107770540/article/details/5784646

支持(0) 反对(0) Launcher | 园豆:44980 (高人七级) | 2015-08-03 09:30
0

 //最后保存到DataTable            

DataTable result = new DataTable();            

result.Columns.Add("id");            

result.Columns.Add("name");            

result.Columns.Add("text");            

result.Columns.Add("date");

var query = from t in 你取出来的数据源.AsEnumerable()    group t by new  

{    t1 = t.Field<string>("name"),

            t2 = t.Field<string>("text"),                            

           t3 = t.Field<string>("date")}into m                            

      select new   {

            sname = m.Key.t1,                                

            stext = m.Key.t2,                                

            date = m.Key.t3,                                

            id = m.First().Field<string>("id")  };

foreach (var ab in query.ToList())

{

 DataRow dr = result.NewRow();                

dr["id"] = ab.id;                

dr["name"] = ab.sname;                

dr["text"] = ab.stext;                

dr["date"] = ab.date;     

result.Rows.Add(dr);            

}

嗷大喵学编程 | 园豆:165 (初学一级) | 2015-08-04 11:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册