2012-02-22 2 views
4
public class Attribute 
{ 
    [Key] 
    public int AttributeId { get; set; } 

    [Required, StringLength(100)] 
    public string Name { get; set; } 

    public int ValueAttributeId { get; set; } 
    public Attribute ValueAttribute { get; set; } 

    public IList<Attribute> ValueAttributes { get; set; } 
} 

    modelBuilder.Entity<Attribute>() 
    .HasOptional(a => a.ValueAttribute) 
    .WithMany(a => a.ValueAttributes) 
    .HasForeignKey(a => a.ValueAttributeId); 

과 옵션 자체 참조 한 많은 관계를 정의합니다 : 참조 제한 조건과 다중성 충돌을 역할에 'Attribute_ValueAttribute_Target'관계 'Attribute_ValueAttribute을'. 종속 역할의 모든 속성은 nullable이 아니므로 Principal 역할의 다양성은 '1'이어야합니다.는 tSystem.Data.Entity.Edm.EdmAssociationType 유창함 API 광고

Aaaaahhhh .....

+0

public int? ValueAttributeId {get; 세트; } –

+2

EFCF 사용의 이점 중 일부는'[Key]'또는'[Required]'와 같은 속성으로 POCO를 꾸밀 필요가 없다는 것입니다. – Yuck

+0

예 ... 그렇다면 내 도메인에서 EF를 참조하는 것을 피할 수 있습니다. –

답변

10
public int ? ValueAttributeId { get; set; } 

... 널 수 있도록 필요한 속성입니다.