0

엔티티 프레임 워크 코드가 먼저 내 매핑을 잘못 설정하고 있습니다. 매핑 문제는 다음과 같습니다Entity Framework 코드 첫 번째 집합 매핑

한 사용자가

프로필은 하나 또는 여러 서 데이터가 3/4 다른 테이블에 걸쳐 사용되는 데이터 값을 서

값 변경할 수 없습니다 있어야합니다 프로필을 가질 수있다 예 : 해당 테이블에 새 열을 추가 할 수 없습니다.

이하고 싶어 매핑 보이는 같은 : 내가 People 테이블에 상주하는 매핑을 선호하는 것처럼

public override void Up() 
    { 
     AddColumn("dbo.StandingDatas", "Person_Id", c => c.Int()); 
     CreateIndex("dbo.StandingDatas", "Person_Id"); 
     AddForeignKey("dbo.StandingDatas", "Person_Id", "dbo.People", "Id"); 
    } 

,이 방법의 검사가 제어하고보고 할 쉽게.

People 테이블에서 대기 데이터 테이블이 아닌 일대 다 관계를 호스팅하도록 엔티티 프레임 워크에 지시하려면 어떻게해야합니까?

사람과 사람 사이에서 일대일로 변경하면 더 잘 작동합니다.

public override void Up() 
    { 
     AddColumn("dbo.People", "Therapies_Id", c => c.Int(nullable: false)); 
     CreateIndex("dbo.People", "Therapies_Id"); 
     AddForeignKey("dbo.People", "Therapies_Id", "dbo.StandingDatas", "Id", cascadeDelete: true); 
    } 

나는 이것을 좋아하지만 일대 다 선호합니다.

명령은 사람들이 테이블이나 더 좋은 것을 내에서 ID의 목록을 serpated

감사

+0

모델에 대한 코드를 게시하지 않았습니다. – Dismissile

답변

1

아니고 분명히 어떤 스키마가 귀하 마시고의 다음과 같은 주석을 가질 수 귀하의 첫 번째 단락에서 설명 떨어져 것입니다 :

public class User 
{ 
    [Key,ForeignKey("Profile")] 
    public int Id { get; set; } 
    public Profile Profile { get; set; } 
} 

public class Profile 
{ 
    [Key] 
    public int Id { get; set; } 
    public virtual User ProfileOwner { get; set; } 
    public virtual ICollection<StandingData> DataCollection { get; set; } 
} 

public class StandingData 
{ 
    [Key] 
    public int Id { get; set; } 

    public int ProfileId { get; set; } 

    [ForeignKey("ProfileId")] 
    public virtual Profile Profile { get; set; } 
}