方法一:
IQueryable<NewsContents项目> listNotice = null;
listNotice = (from news in base.CabinData.NewsContents where news.FLAG == 1 select news).Distinct();
此种去除方法弊端:只要对象中有重复的字段都会去除,会比对对象中所有的字段。
方法二:
把linq查询结果转成list对象集合,再过滤去除重复项
List<NewsContents项目> list = new List<NewsContents项目>(); // NewsContents项目 为实体类model
list = (from news in base.CabinData.NewsContents where news.FLAG == 1 select news).Distinct();
List<NewsContents项目> listNotice = list.Distinct(new item_collection_DistinctBy_item1()).ToList();
//去除重复项
public class item_collection_DistinctBy_item1 : IEqualityComparer<Entity.NewsContents项目>
{
bool IEqualityComparer<Entity.NewsContents项目>.Equals(Entity.NewsContents项目 x, Entity.NewsContents项目 y)
{
if (x.Id == y.Id)
{
return true;
}
else
{
return false;
}
}
int IEqualityComparer<Entity.NewsContents项目>.GetHashCode(Entity.NewsContents项目 obj)
{
return 0;
}
}
=================================================
| ||