C# 如何将IEnumerable用作导航属性而不是IList

C# 如何将IEnumerable用作导航属性而不是IList,c#,entity-framework,entity-framework-6,domain-driven-design,ienumerable,C#,Entity Framework,Entity Framework 6,Domain Driven Design,Ienumerable,如何使用IEnumerable作为导航属性,我不想为客户端开发人员公开一个列表,并给他额外的分心、不受欢迎的功能,如Clear()、CopyTo() 因此,我做了以下工作: private readonly List\u分配的工作时间; 公共虚拟IEnumerable AssignedWorkTimes{get=>\u AssignedWorkTimes;} 但是当我使用EF Power tool渲染模型时,我看不到两个实体之间的关系 注意:我在Worktime中仅使用外键建立单向关系(基于

如何使用
IEnumerable
作为导航属性,我不想为客户端开发人员公开一个列表,并给他额外的分心、不受欢迎的功能,如
Clear()、CopyTo()

因此,我做了以下工作:


private readonly List\u分配的工作时间;
公共虚拟IEnumerable AssignedWorkTimes{get=>\u AssignedWorkTimes;}
但是当我使用
EF Power tool
渲染模型时,我看不到两个实体之间的关系

注意:我在
Worktime
中仅使用外键建立单向关系(基于
DDD
建议),以方便数据操作


要创建一对多关系,“多”属性必须实现ICollection。另见

或者,换句话说,EF6不可能满足您的需求

 private readonly List<WorkTime> _assignedWorkTimes;

 public virtual IEnumerable<WorkTime> AssignedWorkTimes { get => _assignedWorkTimes; }