我需要一些帮助...我有一个嵌套ICollection
的实体,当我需要按工作(AdjudicationHead
)和AdjYearFFI
创建一个组时,我无法设置{ {1}}作为群组的属性。
实体:
AdjYearFFI
public class AdjudicationHead : BaseEntity
{
public virtual int Work { get; set; }
public virtual int AdjYear { get; set; }
public virtual string AdjType { get; set; }
public virtual long AdjNumber { get; set; }
//Navigation
public virtual ICollection<AdjudicationDetail> AdjudicationDetails { get; set; }
}
这是我试过的:
public class AdjudicationDetail : BaseEntity
{
public virtual int AdjYearFFI { get; set; }
//FK
public virtual int AdjYear { get; set; }
public virtual string AdjType { get; set; }
public virtual long AdjNumber { get; set; }
//Navigation
public virtual AdjudicationHead AdjudicationHead { get; set; }
}
错误:
'System.Collections.Generic.ICollection没有 包含AdjYearFFI'
的定义
答案 0 :(得分:1)
这里的问题是ICollection<AdjudicationDetail>
是AdjudicationDetail
的集合,而不是AdjudicationDetail
(评论时),因此它没有AdjYearFFI
属性。它只有ICollection
类型的属性。
如果要对AdjudicationDetail
进行分组,可以使用此查询:
var query = UoW.GetRepository<AdjudicationDetail>()
.GroupBy(d => new { d.AdjudicationHead.Work, d.AdjYearFFI });
现在,在您的query
中,您有一个键控集合,其中您的密钥具有匿名类型,其中包含Work
和AdjYearFFI
字段,并且该元素具有{{1}对象。