ICollection<T>之所以会使用实体框架,是因为它需要支持
Add不是
IEnumerable<T>接口一部分的 *** 作。
另请注意,您 在
使用
ICollection<T>,只是将其作为
List<T>实现公开。
List<T>随之带来的
IList<T>,
ICollection<T>和
IEnumerable<T>。
至于您所做的更改,尽管可行,但通过界面进行公开是一个不错的选择
List<T>。该接口定义合同,但不定义实现。实现 可能会
改变。例如,在某些情况下,实现可能是
HashSet<T>。(顺便说一下,(这是一种思维方式,您不仅可以将其用于实体框架)。一种好的面向对象的实践是针对接口而不是实现进行编程。实现可能并且将会改变。)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)