什么是lazyloaded属性的合适类型?

时间:2009-09-20 21:08:32

标签: linq subsonic

如果我有一个Customer类并且想要添加一个Orders属性来返回该客户的所有订单,那么Orders属性的适当类型是什么?

我能想到的一些可能的选择:

  • 列表
  • 的IList
  • 的IEnumerable

2 个答案:

答案 0 :(得分:3)

通常,最不可能的类型是优选的。如果你可以逃脱IEnumerable - 做它。然后IList<>列表类型越基本,在应用程序的生命周期中使用该类就越容易。

答案 1 :(得分:1)

ReadOnlyCollection<排序>或IEnumerable< Order>都是不错的选择。如果您返回IEnumerable< T>,请确保用户无法将返回的对象强制转换为其他类型并进行修改(或者,如果他们这样做,则不会修改Customer类的状态)。