如何从EF6 dbContext中排除实体集?

时间:2017-04-15 11:20:48

标签: c# entity-framework-6 dbcontext

我有这个context.cs文件:

public DbSet<Type1> Entity01 { get; set; }
public DbSet<Type2> Entity02 { get; set; }

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    modelBuilder.Configurations.Add(new Entity01Map());
    modelBuilder.Configurations.Add(new Entity02Map());
}

但我想从dbContext中排除Entity02,所以我评论使用entity02的两行代码:

public DbSet<Type1> Entity01 { get; set; }
//public DbSet<Type2> Entity02 { get; set; }

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    modelBuilder.Configurations.Add(new Entity01Map());
    //modelBuilder.Configurations.Add(new Entity02Map());
}

但是当我使用dbContext时,我收到一条错误,指出Entity02没有密钥定义。但是我不知道我有一个Entity02类型的EF怎么样,因为我评论引用的行。

所以我想知道如何从dbContext中排除某些实体,因为在某些情况下我不需要那些实体,我想要一个dbContext,在其中排除它们。

感谢。

编辑:添加我的两个实体的代码

public partial class Ficheros
        {
            public Guid Idfichero { get; set; }
            public long Iddocumento { get; set; }
            public byte[] Fichero { get; set; }

            public virtual Documentos IddocumentoNavigation { get; set; }
        }

public partial class Documentos
    {
        public Documentos()
        {
            ElementosDocumentos = new HashSet<ElementosDocumentos>();
        }

        public long Iddocumento { get; set; }
        public string Nombre { get; set; }
        public long? IdtipoDocumento { get; set; }
        public string Codigo { get; set; }
        public decimal? Espacio { get; set; }
        public string Unidades { get; set; }
        public long? Bytes { get; set; }

        public virtual ICollection<ElementosDocumentos> ElementosDocumentos { get; set; }
        public virtual Ficheros Ficheros { get; set; }
        public virtual DocumentosTipos IdtipoDocumentoNavigation { get; set; }
    }

我想驱逐Ficheros。在这种情况下,Ficheros有一个FK到Documentos,所以是的,Ficheros是Documentos的孩子。

0 个答案:

没有答案