2011-12-31 58 views
1

考慮表定義爲:如何在關聯表中的實體框架建立外鍵4.2

public class SkillInteraction 
{ 
    // Primary Key 
    [Key] 
    public int SkillInteractionId { get; set; } 

    // record type (offensive, defensive) 
    public int SkillTypeId { get; set; } 

    //foreign key to Skill table 
    public int ParentSkillId { get; set; } 

    //foreign key to Skill table 
    [ForeignKey("ParentSkillId")] 
    public virtual Skill ParentSkill { get; set; } 

    //foreign key to Skill table 
    public int SkillId { get; set; } 

    // list of skills associated with the parent skill 
    [ForeignKey("SkillId")] 
    public virtual Skill Skill { get; set; } 

    public decimal Ratio { get; set; } 
}  
public class Skill 
    { 
     public int SkillId { get; set; } 
     // record type (offensive, defensive) 
     public int SkillTypeId { get; set; } 
     public string SkillName { get; set; } 
    } 

林相當肯定,我需要用流利的語法來映射這種關係,只是不知道如何去做吧。如果我保留原樣,我會因外鍵導致循環出錯。

Introducing FOREIGN KEY constraint 'SkillInteraction_Skill' on table 'SkillInteractions' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints. 
Could not create constraint. See previous errors. 

那麼,我如何在EF 4.2中建立這種關係,以便SQL服務器不會抱怨?

+0

我的答案是否解決了您的問題? – 2012-01-08 17:55:04

回答