2011-12-31 57 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

回答