首页 新闻 会员 周边

在MVC后台中如何判断两条数据是否一样

0
悬赏园豆:30 [已解决问题] 解决于 2012-09-28 11:43

在两种不同的情况下查询到同一张表中的数据,现要判断两种数据是否一样,再进行操作,如何做?

两个数据,要是都是同一种类型还好做,关键一个是List集合( IList<ErsHoroscope> dailyList),一个是Model类(ErsHoroscope daily),不好比。还有个问题就是:数据表中的字段太多了,要是短一点还好,

foreach (var item in dailyList)
{
if(item.questions_date == daily.questions_date && 。。。。。。)

{}
}

可以这样一条条的比对,但是这个表有50多个字段。。。。。我if里还不写到天边去啊。

各位大侠有什么简单的方法教下在下的?感激不尽啊!!!

Andylls的主页 Andylls | 初学一级 | 园豆:5
提问于:2012-09-25 21:30
< >
分享
最佳答案
0

没有id的话,你要 比较某些字段相同就对象相同的话,就你这样写吧。

var query=dailyList.FirstOrDefault(f=>f.Id==daily.Id);
if(query!=null)Console.WriteLine("相同");

//部分字段
var query1=dailyList.FirstOrDefault(f=>f.questions_date==daily.questions_date&&......);

//所有字段
if(dailyList.Contains(daily))
{}
收获园豆:25
Qlin | 老鸟四级 |园豆:2403 | 2012-09-26 09:31
其他回答(4)
1

一般比较数据库的记录,是比较id的,如果是类型要比较的话,最好实现icomparable接口,其中接口方法的实现可以参考如下:

 

通过反射,反射出类型的字段,字段类型和值来比较,一个循环加一些判断

收获园豆:5
Ethan轻叹 | 园豆:996 (小虾三级) | 2012-09-25 21:42
0

为了方便,还是实现一个比较的接口吧

chenping2008 | 园豆:9836 (大侠五级) | 2012-09-25 21:51
0

但比较2条的id相等能实现你的需求吗?

jason2013 | 园豆:1998 (小虾三级) | 2012-09-26 08:40
0

建议楼主去看看反射,然后写个比较的方法。。。

喻家军 | 园豆:288 (菜鸟二级) | 2012-09-26 16:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册