2017-10-25 1 views
0

프로젝트의 데이터베이스와 관련된 모든 항목에 대해 insert와 같은 더 복잡한 확장 방법을 사용하고 있지만 모델을 서로 연결할 수는 없습니다. 데이터베이스에는 범주, 이벤트, 스피커 및 이벤트 스피커 (피벗 테이블)의 네 가지 테이블이 있습니다. NHibernate에서 클래스 맵핑을 사용하는 것처럼 그것을 할 수있는 방법이 있습니까? 또는 모든 외래 키를 int로 변경하고 저장, 업데이트 등의 모든 작업을 수행해야합니까?더 많은 확장 기능을 사용하는 외래 키 및 피벗 테이블

public class Event 
{ 
    public int Id {get; set;} 
    public Category Category {get;set;} 
    public string Location {get;set;} 
    public DateTime Time {get;set;} 

    public void Save(){ /*TODO*/} 
}  

public class Category 
{ 
    public int Id {get; set;} 
    public string Category {get;set;} 
    public void Save(){ /*TODO*/} 
}  

public class Speaker 
{ 
    public int Id {get; set;} 
    public string Name {get;set;} 

    public void Save(){ /*TODO*/} 
}  

public class EventSpeaker 
{ 
    public Event event {get; set;} 
    public Speaker Speaker {get;set;} 
} 

답변

0

DapperExtensions에는 아직 피벗 테이블에 대한 해결책이 없습니다.

외래 키는 정수로 저장해야합니다. 각 이벤트에 대해 카테고리 인스턴스가 필요한 경우 매핑되지 않은 카테고리 인스턴스도 추가 할 수 있습니다.

각 피벗 테이블에도 클래스가 추가되어야합니다.