Entity Framework 6 Code First를 사용하여 TPH 상속을 구현하려고하고 상속 된 형식의 관계에 문제가 있습니다.Entity Framework 상속 및 관계
내 코드
public abstract class Base...
public class Inherited1 : Base
{
public virtual Type1 Rel { get; set; }
...
public class Inherited2 : Base
{
public virtual Type1 Rel {get;set;}
...
그래서 상속 유형이 "동일한"관계를 가지고있다. 상속 자체가 잘 작동하지만 내가 가진 문제는 Type1 테이블과의 관계가 두 번 (논리 ...) 추가되고 다른 관계는 Inherited2.Id에서 Type1.Id로 Inherited2.Type1Id 대신 Type1.Id 첫 번째 관계가 (올바르게)인지 확인하십시오.
변경된 형식 이름이있는 부분 코드 샘플을 설명하는 것이 적절하지 않은지 잘 모르겠지만 그 점을 알고 싶습니다. 필요한 경우 자세한 내용을 문의하십시오.
아마
UPDATE 내가 문제를 설명하는 샘플 Github에서의 REPO를 만들었습니다
제대로이를 구현할 수 있습니다. 제가 잘못하고있는 것을 말해주십시오. https://github.com/antsim/EntityFrameworkTester
무엇을 사용하고 있습니까? 유창한 API 또는 특수 효과? 두 경우 모두 사용중인 코드를 보여줍니다. – Monah
이러한 관계와 관련된 유일한 유창한 API는 입니다. modelBuilder.Entity ( ) .HasMany (x => x.Inherited1) .WithRequired (x => x. Type1) .WillCascadeOnDelete(); –
아래의 내 대답에 TPT와 TPH 모두 참조로 추가했습니다. – Monah