2016-10-01 1 views
1

제가한 제로 한 관계의 EF codefrist

3 급
public class StockDef 
{ 
    public int Id { get; set; } 
    public int StockType { get; set; } 
    public virtual OfficeStock SayanStock { get; set; } 
    public virtual AgentStock AgentStock { get; set; } 
    //.... 
} 

public class OfficeStock 
{ 
    public virtual StockDef StockDef { get; set; } 
    //.... 
} 

public class AgentStock 
{ 
    public virtual StockDef StockDef { get; set; } 
    //...... 
} 

StockDef 모든 객체가 확실히를 가지고 (OfficeStock 하나 또는 하나 AgentStock).
및 모든 OfficeStock에는 StockDef가 하나만 있습니다.
및 모든 AgentStock에는 확실히 하나의 StockDef가 있습니다.
어떻게 이것을 유창한 API로 EF 코드에서 구현할 수 있습니까?
TNX

+0

수 있습니다 약 1-1 관계 구성 또한

, 하나'officeStock' 또는 StockDef''하나'AgentStock'과 내 생각을, 그렇지 않아 유창한 Api로 가능합니다. 수동으로 추가 할 수 있습니다. 이것을 확인하십시오 [링크] (http://stackoverflow.com/questions/34245449/is-it-possible-to-add-check-constraint-with-fluent-api-in-ef7) – iamnapo

+0

tnx for response @iamnapo
I 어떻게 데이터베이스의 최종 테이블이어야합니까? – memo

답변

0

당신은 StockDef 유창 API를 ("하나 개의 속성은 컴파일 할 수있다"제약)을 구성 할 수 없습니다, 당신은 IValidatableObject 인터페이스를 구현하는 사용자 정의 유효성 검사를 추가해야합니다.

다른 사람이 잘못된 레코드를 삽입하지 않도록 데이터베이스에 제약 조건 (트리거?)을 추가 할 수도 있습니다. 당신은 당신은 당신이 원하는 경우 제약 조건을 확인 필요 이쪽을 봐 Code First migration when entities have cross references with foreign keys

+0

왜 ?? 당신은 StockDef가 오직 하나의 OfficeStock이나 AgentStock 만 할 수 있다고 말할 수 있습니까? – memo

+0

아마도 나는 이해하지 못했습니다. StockDef는 OfficeStock와 AgentStock를 각각 하나씩 보유 할 수 있습니까? 제 말은'StockDef.OfficeStock'과'StockDef.AgentStock' 둘 다 컴파일 될 수 있습니까? – bubi

+0

StockDef는 OfficeStock 하나 또는 하나의 AgentStock를 가질 수 있습니다 – memo

관련 문제