我找不到映射值对象集合的方法,是否可能?
public class AnEntity
{
public int Id {get;set;}
public ICollection<Guid> Values {get;set;} // <-- this
}
谢谢, 即
答案 0 :(得分:2)
因为不可能。您只能映射实体集合(具有键的类)。您可以通过使用特殊实体并公开第二个属性来解决此问题,该属性将为您提供投影:
public class SecondEntity {
public Guid Id { get; set; }
}
public class AnEntity {
public int Id { get; set; }
public virtual ICollection<SecondEntity> Values { get; set; }
public IEnumerable<Guid> GuidValues {
return Values.Select(v => v.Id);
}
}
如果您希望该集合很小,您还可以使用单个字符串字段而不是相关集合,并使用String.Split
,String.Join
来提供集合模拟。