通常,EF中的POCO类看起来或多或少是这样的:
public int[] make2(int[] a, int[] b) {
int[] answer = new int[2];
for(int x = 0; x <= 1; x++){
if(a[x] != null)
answer[x] = a[x];
else if (b[x != null]){
answer[x] = b[x];
}
}
}
他们总是使用ICollection。
如果我想在ICollection上有更多方法,编写我自己的ICollection实现会不好?我在某处读到你不应该使用public partial class ThingEntity
{
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<Thing> things{ get; set; }
}
而不是List<T>
,但是如果我有自己的ICollection实现怎么办?
答案 0 :(得分:1)
您可以使用所需的集合。事实上,在我的所有模型中,我使用List<T>
,这实际上是一种常见的模式。事实上,这是一个接口,最后,您需要该接口的具体实现。
答案 1 :(得分:0)
我试着编写一个实现的类,但是一小时后我意识到我可以为ICollection<T>
编写扩展方法。这更容易,我不必在任何地方更换ICollections以获得我需要的方法。
这帮助我编写通用列表的扩展方法: How to create extension method on generic collection