首页 新闻 会员 周边 捐助

我要找出TicketNo="999-12311",OrderID=79121281,CenterNo=2为此条件的两条数据如何找出这两条重复的数据

0
悬赏园豆:15 [已解决问题] 解决于 2016-02-17 14:14

 return new List<Ticket>()
            {
                 new Ticket(){ TcpId=1, TicketNo="999-12311",OrderID=79121281,Description="改签",CenterNo=2},
                 new Ticket(){ TcpId=2,TicketNo="999-24572",OrderID=29321289,Description="退票",CenterNo=1},
                 new Ticket(){ TcpId=3,TicketNo="999-68904",OrderID=19321289,Description="成交",CenterNo=1},
                 new Ticket(){ TcpId=4,TicketNo="999-24172",OrderID=64321212,Description="未使用",CenterNo=1},
                 new Ticket(){ TcpId=5,TicketNo="999-24579",OrderID=19321289,Description="退票",CenterNo=1},
                 new Ticket(){ TcpId=6, TicketNo="999-21522",OrderID=79121281,Description="未使用",CenterNo=1},
                 new Ticket(){ TcpId=7,TicketNo="999-12311",OrderID=79121281,Description="",CenterNo=2},
                 new Ticket(){ TcpId=8,TicketNo="999-24902",OrderID=79121281,Description="退票",CenterNo=1},
                 new Ticket(){ TcpId=9,TicketNo="999-04571",OrderID=29321289,Description="改签",CenterNo=1},
                 new Ticket(){ TcpId=10,TicketNo="999-23572",OrderID=96576289,Description="改签",CenterNo=1},
                 new Ticket(){ TcpId=11,TicketNo="999-24971",OrderID=99321289,Description="成交",CenterNo=1}
            };

我要找出TicketNo="999-12311",OrderID=79121281,CenterNo=2为此条件的两条数据如何找出这两个重复的数据,CenterNo=2可以做为条件,别的不能为条件!

renshen4322的主页 renshen4322 | 初学一级 | 园豆:5
提问于:2016-02-17 12:03
< >
分享
最佳答案
0

如果你有使用LINQ的话,并且知道数据库里面可以使用GROUP BY找相同项的原理的话,这就不是难题。

如果不知道的话,按照我说的学一下这两个知识就行了。

收获园豆:15
爱编程的大叔 | 高人七级 |园豆:30844 | 2016-02-17 12:22

TicketNo="999-12311",OrderID=79121281,这个不能做为条件的,就是筛选出new Ticket(){ TcpId=1, TicketNo="999-12311",OrderID=79121281,Description="改签",CenterNo=2},  new Ticket(){ TcpId=7,TicketNo="999-12311",OrderID=79121281,Description="",CenterNo=2},这两个!CenterNo=2可以做为条件,现在是模拟的这种情况

renshen4322 | 园豆:5 (初学一级) | 2016-02-17 12:50

@renshen4322: 

好吧,你要模拟的话,where+ group by+count 找出条数大于1的

LINQ写法是

var q= from c in list
           where c.CenterNo=2
           Group c by new
        {
        c.TicketNo,
        c.OrderID  
       }
        into g
       where g.Count() >= 2
        select new
            {
                g.Key,
                g
            };

这是LINQ,比较绕口一些。

爱编程的大叔 | 园豆:30844 (高人七级) | 2016-02-17 13:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册