независимая связь между двумя нереляционными / несвязанными объектами

#entity-framework #entity-framework-6

#entity-framework #entity-framework-6

Вопрос:

Мне нужно получить список значений нереляционных объектов, используя навигационное свойство. В следующей модели для FVariable я пытаюсь создать свойство навигации для ведения списка VariableValue . Как определить независимую связь, как показано в модели FVariable :

public virtual ICollection<VariableValue> Values { get; set; } ?

Эти две сущности связаны через VariableID и DataAttributeCollectionID свойства.

Вот FVariable сущность:

 public class FVariable
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int FVariableID { get; set; }

    [Index(Unique, Order = 1)]
    public int VariableID { get; set; }

    [ForeignKey(nameof(F.VariableID))]
    public virtual Variable Variable { get; set; }

    [Index(Unique, IsUnique = true, Order = 2)]
    public int? DataAttributeCollectionID { get; set; }

    [ForeignKey(nameof(FVariable.DataAttributeCollectionID))]
    public virtual DataAttributeCollection DataAttributeCollection { get; set; }

    public virtual ICollection<VariableValue> Values { get; set; }
}
  

Вот VariableValue сущность:

 public class VariableValue
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int VariableValueID { get; set; }

    [Index(Order = 1)]
    public int VariableID { get; set; }

    [ForeignKey(nameof(VariableValue.VariableID))]
    public virtual Variable Variable { get; set; }

    [Index(Order = 2)]
    public double VariableValue { get; set; }

    public int? DataAttributeCollectionID { get; set; }

    [ForeignKey(nameof(VariableValue.DataAttributeCollectionID))]
    public virtual DataAttributeCollection DataAttributeCollection { get; set; }

}
  

Комментарии:

1. В EF6 это возможно, только если VariableID и DataAttributeCollectionID являются FVariable первичным ключом.

2. @GertArnold, ах, я вижу, что у меня, должно быть, неправильное понимание независимой ассоциации. Между объектами все еще должна существовать связь.