哪些实体应该包含在DbContext中,只包含基类或每个派生类?

时间:2014-01-13 00:35:36

标签: entity-framework

相册文章相片都是内容的派生类。

public class MyContext : DbContext
{
   //What set should be here ???!
}

我想知道只添加public DbSet<Content> Contents { get; set; }是否足够或需要代表所有这样的实体?

public DbSet<Album> Albums { get; set; }
public DbSet<Article> Articles { get; set; }
public DbSet<Photo> Photos { get; set; }
public DbSet<Content> Contents { get; set; }

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我认为您正在寻找如何设置模型的示例,这是一个示例。 您可以创建映射到同一个表的类。

public MyContext : DbContext
{
   public MyContext() : 
      base("ConnectioString")      // this is from the App.Config
   {
   }

   public DbSet<Album> Albums { get; set; }
   public DbSet<Article> Articles { get; set; }
   public DbSet<Photo> Photos { get; set; }
   public DbSet<Content> Contents { get; set; }

   [Table("Content")]   
   public class Content 
   {
       [Key]
       [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
       public int ContentId { get; set; }
       [Required]
       public bool Field { get; set; }
   }

   [Table("Content")]  
   public class Album 
   {
       [Key]
       [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
       public int ContentId { get; set; }
       [Required]
       public bool Field { get; set; }
   }
}