Mik*_*e L 6 c# entity-framework-core
C#中Collection和List有什么区别?我的意思是我应该使用哪一个作为导航属性:
public Collection<OrderDetail> OrderDetails { get; set; }
Run Code Online (Sandbox Code Playgroud)
或者
public List<OrderDetail> OrderDetails { get; set; }
Run Code Online (Sandbox Code Playgroud)
似乎没有这方面的文档,但实体框架支持任何IEnumerable<T>集合导航属性。
所以你可以将它们声明为:
IEnumerable<T>ICollection<T>Collection<T>HashSet<T>IList<T>List<T>可能还有更多。就实体框架而言,没有什么区别,它会在运行时分配适当的一个,并且除了调用其中的AddRange()大多数之外,还可以对每个实体执行它所做的所有操作,但是您什么时候想使用它呢?
例如,如果您想要数据绑定,您可以使用ObservableCollection<T>,否则我会使用仍然允许添加项目的最简洁的界面:ICollection<T>。