Можно ли отобразить коллекцию объектов значений с EF4.x? - PullRequest
1 голос
/ 16 февраля 2012

Я не могу найти способ сопоставить коллекцию объектов-значений, возможно ли это?

public class AnEntity
{
    public int Id {get;set;}
    public ICollection<Guid> Values {get;set;} // <-- this
}

Спасибо, E.

1 Ответ

2 голосов
/ 16 февраля 2012

Потому что это невозможно. Вы можете отобразить только коллекцию сущностей (классы с ключом). Вы можете решить эту проблему, используя специальную сущность и выставив второе свойство, которое обеспечит вам прогноз:

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 для обеспечения эмуляции коллекции.

...