Можно ли отобразить коллекцию объектов значения с EF4.x?

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

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

Спасибо Е.

1 ответ

Решение

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

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 обеспечить эмуляцию сбора.

Другие вопросы по тегам