previous question에 대한 자세한 내용을 알고 싶습니다. 블로그에서 BlogEntry와 Comment를 상속 받았다고 가정 해 보겠습니다. 나는 이제 그것들을 약간 사용자 화하고 싶다.EF4 - 사용자 정의 ObjectContext 및 상속 질문
는public abstract class Post
{
public virtual int Id { get; set; }
public virtual string Text { get; set; }
public virtual DateTime CreatedAt { get; set; }
}
public class BlogEntry : Post
{
public virtual string Header { get; set; }
public virtual Blog Blog { get; set; }
public virtual IEnumerable<Comment> Comments { get; set; }
}
public class Comment : Post
{
public virtual string Header { get; set; }
public virtual int UserId { get; set; }
public virtual BlogEntry BlogEntry { get; set; }
}
지금 내 사용자 정의 개체 컨텍스트를 만들 :이 같은 항목을 포스트에서와 코멘트에이 두 필드를 이동하고 블로그 있도록 블로그 게시물에 대한 의견은 제목을 필요로하지 않지만 코멘트는 사용자 참조를 필요로 :
public class EntityContext : System.Data.Objects.ObjectContext
{
public EntityContext() : base("name=Entities", "Entities")
{
this.Blogs = CreateObjectSet<Blog>();
this.Posts = CreateObjectSet<Post>();
this.Entries = CreateObjectSet<BlogEntry>();
this.Comments = CreateObjectSet<Comment>();
}
public ObjectSet<Blog> Blogs { get; set; }
public ObjectSet<Post> Posts { get; set; }
public ObjectSet<BlogEntry> Entries { get; set; }
public ObjectSet<Comment> Comments { get; set; }
}
이 꽤 설명이 포함 된 오류 메시지 실제로 다음 날 제공 :
시험 방법 던진 예외 : System.ArgumentException :,691를있다지정된 엔터티 유형 'BlogEntry'에 대해 에 대해 정의 된 EntitySet이 없습니다. 'BlogEntry'가 파생 유형 인 경우 기본 유형을 대신 사용하십시오. 예를 들어 은 CreateObjectSet() 을 호출하고 DiscontinuedProduct가 알려진 엔티티 유형이지만 바로 으로 EntitySet에 매핑되지 않은 경우이 오류가 표시됩니다. DiscontinuedProduct 유형은 부모 유형이 이 EntitySet으로 매핑되거나 DiscontinuedProduct 유형이 EntitySet에 전혀 매핑되지 않은 인 파생 유형 인 파생 유형 일 수 있습니다. 매개 변수 이름 : TEntity 이제
나는 생각하지 상속 및 물건하지만이 내 문제를 해결하는 것입니다 ObjectSet < 포스트> 같은 항목과 댓글의 세트를 추가하는 것입니다 보는 방식의 마스터?
에게 더 그것을 보는 그래 내가 가진하지 않은 시간을하는 데 도움이됩니다. 당신이 말하는 것은 사실로 들립니다. 나는 방금 나의 발견에 관해 거대한 blog 지위를 오늘 작성하는 것을 끝내었다. 내가 POCO 상속에 대해 내일 또 다른 하나를 써야하는 것처럼 본다. – mhenrixon
단지 bagage를 제거하는 것에 감사드립니다! :) – mhenrixon