我使用Entity Framework Code First。 我有两个非常相似的类与虚拟ICollection属性。 以下是其中一个集合类:
public class Name
{
public int Id{ get; set;}
[MaxLength(64)]
[Index(IsUnique = true)]
[Required]
public string Value { get; set; }
public virtual ICollection<NameVariant> Variants { get; set; }
}
public class NameVariant
{
public int Id{ get; set;}
[MaxLength(64)]
[Index(IsUnique = true)]
[Required]
public string Value { get; set; }
public int ParentId { get; set; }
public virtual Name Parent { get; set; }
}
我在一个案例中从Variants获取EntityCollection而在另一个案例中从HashSet获取。 它取决于什么?如何从两个类中获得EnityCollection?
答案 0 :(得分:4)
该成员声明它将返回一个接口。您需要对该接口进行编码,并假设代码可以返回它想要的任何类型,只要该类型实现接口,而不是依赖于返回的特定具体实现。