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; }