친애하는 엔티티 전문가 및 다른 사람,엔티티 프레임 워크 데이터베이스 모델
I가 다음 엔터티,
기본 클래스의 개별 :
public abstract class Individual
{
[Key]
public int IndividualID { get; set; }
... other properties
}
요기 :
[Table("Yogis")]
public class Yogi : Individual
{
public string Firstname { get; set; }
public string Lastname { get; set; }
public DateTime Birthdate { get; set; }
}
고객 :이
[Table("Customers")]
public class Customer : Individual
{
public string Name { get; set; }
[ForeignKey("VATID")] // tried with and without
public virtual VAT VAT { get; set; }
}
VAT :이
public class VAT
{
[Key]
public int VATID { get; set; }
[Required]
public virtual Customer VATHolder { get; set; }
... other properties
}
DbContext :
public DbSet<Individual> Individuals { get; set; }
public DbSet<VAT> VATS { get; set; }
그래서 위 VATID 시작하는 2 인이 테이블 VAT를 만들고있는 일을해야한다 대신, 나는 이것이 왜 일어나는 지 이해하지 못한다. 이것은 1이 아닌가? 또한 고객 & VAT를 참조하는 테이블에는 아무런 참조가 없습니다. VATID & 고객 ID가있는 별도의 테이블 VAT_Customer를 만들려면 어떻게해야합니까?
이 내가 만들고 기업 고객을 삽입하는 방법입니다
VAT vat = new VAT("123456789");
DataBaseHandler.InsertIndividual(new Customer("Customer name", vat,...));
삽입 기능 : 나는 여러 가지 방법 (EXAMPLES HERE)를 시도
public static void InsertIndividual(Individual individual)
{
using (MyDbContext ctx = new MyDbContext())
{
ctx.Individuals.Add(individual);
ctx.SaveChanges();
}
}
하지만 내가 가진의 TPT 방식을 선호 어떤 개체 또는 개체 간의 관계에 대한 별도의 견해. 내가 뭘 잘못하고 어떻게하면 원하는 결과를 얻을 수 있을까? 내가 무엇인가를 분명히 할 수 있는지 알려줘. 사전에 도움이나 제안을 해주셔서 감사합니다!
친절에 감사드립니다! 1 개 관계 : 다음 외래 키에
이enter code here
[ForeignKey("VAT")]
public virtual int VATId { get; set; }
public virtual VAT VAT { get; set; }
이름은 클래스와 동일합니다 당신 싶어 1이있는 경우
은 부가가치세 클래스 (고객)가 필요하지 않습니다 도움이 될 수 있습니다
희망 직접 –
고객이 1Vat 이상이있는 경우 ,, 고객 클래스에이 추가 : 공개 가상 목록 VATS {get; 세트; } –
고객은 VAT 번호가 1 일 뿐이므로 VAT 클래스에서 고객을 삭제 : ** - 2 대신 VAT 1에서 ID를 작성합니다. (기쁜 소식!) - 고객 테이블에 열 이름을 추가합니다. VAT_VATID (대단히!) [ForeignKey ("VAT")] public virtual int VATID {get; 세트; } public virtual VAT VAT {get; 세트; } 이것은 내가 지금까지 본 최상의 결과 인 Customer 테이블에 VATID 열을 제공합니다.VATID와 CUSTOMERID가있는 CUSTOMER_VAT와 같이 테이블에 seperatly 매핑 할 수있는 방법이 있습니까? –