[英]Entity framework - table per type issue
我在使用帶有每個類型的表繼承的Entity Framework時遇到了麻煩。 我得到的結果是' PostComments '表中的一個額外列。
到目前為止,這是我的代碼:
BaseComment類:
public abstract class BaseComment
{
[Key]
public int Id { get; set; }
[Required]
[AllowHtml]
public string Content { get; set; }
[Required]
public DateTime TimeCreated { get; set; }
public int? ParentId { get; set; }
public int UserId { get; set; }
[Required]
public CommentStatus CommentStatus { get; set; }
[ForeignKey("ParentId")]
public virtual BaseComment Parent { get; set; }
[ForeignKey("UserId")]
public virtual User User { get; set; }
}
PostComment課程
public class PostComment : BaseComment
{
public int PostId { get; set; }
[ForeignKey("PostId")]
public virtual Post Post { get; set; }
}
PageComment類
public class PageComment : BaseComment
{
public int PageId { get; set; }
[ForeignKey("PageId")]
public virtual Page Page { get; set; }
}
我的種子()方法
protected override void Seed(DAL.Contexts.XPressDbContext context)
{
context.PostComments.AddOrUpdate(new PostComment()
{
Content = "asdasd",
PostId = 1,
TimeCreated = DateTime.Now,
UserId = 1,
CommentStatus = CommentStatus.Approved
});
context.PageComments.AddOrUpdate(new PageComment()
{
Content = "About page comment",
PageId = 17,
TimeCreated = DateTime.Now,
UserId = 1,
CommentStatus = CommentStatus.Approved
});
}
SQL結果:查看PostComments表中的Page_Id列。 那一欄不應該出現在那里。
誰能告訴我哪里錯了? 任何幫助表示贊賞!
您的TPT定義是正確的。 您看到的這個額外列似乎不是您的TPT配置的問題。 看起來Page類有對PostComments的引用,后者正在創建這個額外的列。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.