c# - 我必须使用的集合与列表

标签 c# entity-framework-core

C# 中的 CollectionList 有什么区别。我的意思是我应该将哪一个用于导航属性:

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/

相关文章:

c# - Entity Framework Core 原始 SQL 错误 : System. ArgumentException 已添加具有相同键的项目。关键:身份证

view - 如何在带有 Entity Framework Core 1.0 (EF7) 的脚手架 DbContext 中使用数据库 View

c# - 身份用户管理器 DeleteAsync DbUpdateConcurrencyException

c# - 规范模式示例

c# - ASP.NET Core EF 添加迁移命令不起作用

c# - 客户端关闭时 NetworkStream 在 Read() 上抛出异常

c# - WCF 能否处理对同一终结点的同时调用?

asp.net - EntityFramework Core 在加入后获得多个结果

c# - Linq to 实体导航属性

c# - System.Data.SqlClient.SqlConnection 错误 : Invalid column name 'B' .