2014-08-27 8 views
0

DataAnnotations를 사용하여 1-1 관계를 설정하려고하는 EF (코드 우선)와 ATM으로 돌아갑니다.엔티티 프레임 워크 마이그레이션 - 다중성이 역할에서 유효하지 않습니다.

public class CmsMember 
{ 
    [Key] 
    public int nodeId { get; set; } 
    public string Email { get; set; } 
    public string LoginName { get; set; } 
    public string Password { get; set; } 

    public Client Client { get; set; } 
} 
public class Client 
{ 
    [ForeignKey("CmsMember")] 
    public int nodeId { get; set; } 
    public int ClientId { get; set; } 
    public string ClientName { get; set; } 

    public CmsMember CmsMember { get; set; } 
} 

나는 오류 (추가 이주 명령에 ) 말에 붙어 :

** \ tSystem.Data.Entity.Edm.EdmAssociationEnd : 다중성은 역할에 유효하지 않습니다 'Client_CmsMember'관계에서 'Client_CmsMember_Source'. 종속 역할 속성은 주요 속성이 아니기 때문에 종속 역할의 다중 도의 상한선은 ''이어야합니다. *

모든 힌트를 높이 평가하겠습니다.

답변

1

위에 당신이 경우에 사용하려는 속성 이상이어야합니다,뿐만 아니라 속성의 위치를 ​​변경해야합니다. 내가 할 dB로 데이터를 삽입 할 때

[Key, ForeignKey("CmsMember")] 
public int nodeId { get; set; } 
+0

감사는 "IDENTITY_INSERT가 OFF로 설정되어있는 경우 표에 '클라이언트'ID 열에 명시 적 값을 삽입 할 수 없습니다"이제 EF 문제를 해결하지만. 어떤 생각? –

+0

숫자 키에 대한 기본 규칙은 ID입니다. 명시 적으로 ID를 설정하는 SQL 쿼리 구문을 사용하면 그 원인이 될 수 있습니다 –

1

저는 this이 도움이 될 것입니다. 동일한 오류가 있으며 코드가 비슷합니다. 당신은 당신의 속성 이름이 규칙과 일치하지 않기 때문에 당신은 키 속성을 필요

public CmsMember CmeMember { get; set; }