Distinct() 不能应用于某些实体,因为某些字段不能被散列(作为文本字段)。
问问题
69 次
1 回答
1
毕竟,当 EntityObject 需要 Distinct 时,我们只需要对实体键进行比较。IEqualityComparer 可以这样实现:
public class EntityObComparer : IEqualityComparer<EntityObject>
{
public bool Equals(EntityObject x, EntityObject y)
{
return x.EntityKey.Equals(y.EntityKey);
}
public int GetHashCode(EntityObject obj)
{
return obj.GetHashCode();
}
}
然后 distinct 可以像这样执行:
var foo = MyListOfEntityObjects.Distinct(new EntityObComparer());
于 2013-04-11T15:01:39.883 回答