2009-08-19 3 views
1

많은 관계로.음속 3 - 간단한 저장소 - 하나 그것은 내가 음속을 사용하는 처음

하자 내가 그 수업을 말 :

public class Store 
{ 
    public int Id { get; set; } 
    public String Name { get; set; } 
} 

public class Employee 
{ 
    public int Id { get; set; } 
    public String Name { get; set; } 
} 

직원이 날짜를 고용과 상점 관련이 있습니다. 이 데이터베이스에 내가 STOREID, 직원 ID, STARTDATE, 종료 날짜

UPDATE으로 중간 테이블이된다는 것을 의미합니다

직원은 2009-01-01부터 2009-04-04 작업에 StoreA로 사용할 수 있습니다 StoreB에서 2009-04-05까지 ... 그리고 직원이 그가 일하는 상점을 변경할 때마다 내 데이터 테이블이 직원의 모든 정보를 반복하는 것을 원하지 않습니다. 이 예제 직원에

어떻게 그것을 달성 할 수 (... ADRESS, 연령, 성별) 만 이름을 가지고 있지만 직원이 10 속성을 가지고 말할 수? 당신의 코멘트와 다음과 같은 일을 할 것 같습니다 업데이트 된 질문을 바탕으로

답변

1

:

public class Store 
{ 
    public int Id { get; set; } 
    public String Name { get; set; } 
} 

public class StoreEmployee 
{ 
    public int Id { get; set; } 
    public Employee Employee { get; set; } 
    public Store Store { get; set; } 
    public DateTime HiredDate { get; set; } 
} 

public class Employee 
{ 
    public int Id { get; set; } 
    public String Name { get; set; } 
} 
+0

은 어쩌면 나 자신은 잘못 표현한다. 제 직원이 StoreA에 2009-01-01에서 2009-04-04까지 일할 수 있고 StoreB에서 2009-04-05까지 일할 수 있음을 의미합니다. 그리고 내 데이터 테이블이 직원이 그가 일하는 가게를 변경할 때마다 내 직원. 이 예제에서 종업원은 이름 만 가지고 있지만 종업원은 10 개의 재산 (주소, 나이, 성 ...)을가집니다. – Melursus

+0

+1 이것은 아음속 사이트에 대한 정보가 부족함을 알려줍니다. – Andrew

0

당신은 실제로 매장에 직원 기록에 참여하는 다 대다 관계가 필요합니다 시작 및 종료 날짜가 페이로드 인 레코드

개체는 다음과 같이 표시됩니다 몇 가지 오류가있을 수 있도록

public class Store 
{ 
    public int Id { get; set; } 
    public String Name { get; set; } 
} 

public class Employee 
{ 
    public int Id { get; set; } 
    public String Name { get; set; } 
    public IList<EmploymentTerm> EmploymentTerms { get; set; } 
} 

public class EmploymentTerm 
{ 
    public int Id { get; set; } 
    public Store Store { get; set; } 
    public Employee Employee { get; set; } 
    public DateTime? StartDate { get; set; } 
    public DateTime? EndDate { get; set; } 
} 

이 자유를했다.

관련 문제