尝试在其他程序集中使用类时,IDisposable.Dispose不可用

时间:2015-12-18 12:38:19

标签: c# .net entity-framework-6 dbcontext

我有一个名为DataWare的数据访问类库。在里面我有这样定义的上下文类:

namespace DataWare
{
    using System;
    using System.Data.Entity;
    using System.Data.Entity.Infrastructure;

    public partial class GestionCasinoEntities : DbContext
    {
        public GestionCasinoEntities()
            : base("name=GestionCasinoEntities")
        {
        }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            throw new UnintentionalCodeFirstException();
        }

        public DbSet<Auditoria> Auditoria { get; set; }
        public DbSet<CentroCosto> CentroCosto { get; set; }
        public DbSet<Contingencia> Contingencia { get; set; }
        public DbSet<Departamento> Departamento { get; set; }
        public DbSet<Empresa> Empresa { get; set; }
        public DbSet<Equipo> Equipo { get; set; }
        public DbSet<Funcionario> Funcionario { get; set; }
        public DbSet<GrupoParametro> GrupoParametro { get; set; }
        public DbSet<GrupoServicio> GrupoServicio { get; set; }
        public DbSet<Marcacion> Marcacion { get; set; }
        public DbSet<Modulo> Modulo { get; set; }
        public DbSet<Pais> Pais { get; set; }
        public DbSet<Parametro> Parametro { get; set; }
        public DbSet<Semana> Semana { get; set; }
        public DbSet<Servicio> Servicio { get; set; }
        public DbSet<Turno> Turno { get; set; }
        public DbSet<UbicacionEquipo> UbicacionEquipo { get; set; }
    }
}

问题是当我尝试从其他程序集中使用该类时,只有DbSet属性可用,而不是Dispose方法。所以,我做不到这样的事情:

            using (GestionCasinoEntities db = new GestionCasinoEntities())
            {
            }

这可能会发生什么?

如果在GestionCasinoEntities代码中我写了这个.Dispose,intellisense显示它可用,但是,当我尝试在其他程序集中对db.Dispose执行相同操作时,Dispose不可用。也许缺少一些参考。

1 个答案:

答案 0 :(得分:0)

Fede的评论作为社区维基回答发布。如果Fede发布了自己的答案,请删除。

联邦表示:

  

GestionCasinoEntities类是否在与试图使用它的程序集不同的程序集中定义?如果是这种情况, 您还需要向引荐项目添加引用EntityFramework.dll ,尽管编译器应该已经警告过你已经有了这个。