删除重复项帮助

删除重复项帮助

问题描述:

6个月前,我已经提出了类似问题,但仍未回答或提出任何建议。删除重复项帮助

这是问题所在。下面的代码返回重复记录。 我正在使用的实际返回的记录集是Model.Product。 查询查看ProductSkus表中的DateAdded字段以查看产品是否应显示。 唯一的问题是如果多于一个ProductSkus匹配特定产品的需求,我会得到重复记录。我不能有这个。 我只关心访问Model.Product中包含的数据。不是Model.Product.ProductSkus。

有没有人遇到类似的情况? 关于如何获得我想要的结果的任何想法?

在此先感谢。

ICriteria query = this.Session.CreateCriteria<Model.Product>(); 
query.CreateAlias("ProductSkus", "ProdSku", JoinType.InnerJoin) 
    .AddOrder(new Order("ProdSku.DateAdded", false)) 
    .AddOrder(new Order("Name", true)) 
    .Add(Restrictions.Ge("ProdSku.DateAdded", myDate)) 
    .SetMaxResults(100); 

result = query.List();

您应该确保您的查询/标准使用'resultransformer'。在这种情况下,您需要DistinctRootEntityResultTransformer。

query.SetResultTransformer(Transformers.DistinctRootEntity); 

接下来,该关联如何映射?它被映射为一个包还是一个集?

+0

它被映射为一个袋子。你的建议奏效了。非常感谢你。 – 2010-12-07 15:47:41