C# 中的 Collection 和 List 有什么区别。我的意思是我应该将哪一个用于导航属性:
public Collection<OrderDetail> OrderDetails { get; set; }
或
public List<OrderDetail> OrderDetails { get; set; }
最佳答案
有appear to be没有这方面的文档,但 Entity Framework 支持任何 IEnumerable<T>
用于集合导航属性。
因此您可以将它们声明为:
-
IEnumerable<T>
-
ICollection<T>
-
Collection<T>
-
HashSet<T>
-
IList<T>
-
List<T>
可能还有更多。就 Entity Framework 而言,没有区别,它会在运行时分配适当的一个,并且可以对每个实体进行所有操作,除了调用 AddRange()
之外。在大多数情况下,但您想什么时候使用它?
如果你想要数据绑定(bind),你可以使用 ObservableCollection<T>
,例如,否则我会选择仍然允许添加项目的最简洁的界面:ICollection<T>
.
关于c# - 我必须使用的集合与列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70111504/