实体框架4.1无效的对象名称'我们'

时间:2013-04-10 00:40:04

标签: c# linq entity-framework-4

我使用ef电动工具对数据库进行逆向工程。它首先使用代码创建类和映射。那不是问题。

但是当我尝试运行以下代码时:

using (var tmp= new PdbContext("nameofdb")
                {


                    try
                    {
                        tmp.Configuration.AutoDetectChangesEnabled = false;


                        var tmpUsr = (from t in tmp.DadosUtilizadores
                                      where t.inactivo == false
                                      select t).ToList();
                    }
                    finally
                    {
                        tmp.Configuration.AutoDetectChangesEnabled = true;
                    }
                }

它会引发以下文本的异常。

  

无效的对象名称'us'

我在这里搜索过,发现通过以下操作可以解决我的问题:

modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();

但它仍然无法解决我的问题。 所以我检查了表的名称,这是正确的。 打开linqpad并尝试访问数据,它没有任何问题。 有一件事引起了我的注意。该表有一个触发器,触发器会在这种情况下引发问题吗?

为了更好地理解下面的代码,我的上下文类是指PdbContext 以及名为UtilizadoresMap的映射类。

PdbContext类

public class PdbContext:DbContext
    {
        public DbSet<Fltcl> FiltrosClientes { get; set; }
        public DbSet<Fltst> FiltrosStocks { get; set; }
        public DbSet<Bo> DossiersInternos { get; set; }
        public DbSet<Cl> DadosClientes { get; set; }
        public DbSet<Utilizadores> DadosUtilizadores { get; set; }

        public PdbContext(string valueConn):base(valueConn)
        {
            Database.SetInitializer<PdbContext>(null);
        }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Configurations.Add(new FltstMap());
            modelBuilder.Configurations.Add(new FltclMap());
            //modelBuilder.Configurations.Add(new ClMap());
            modelBuilder.Configurations.Add(new UtilizadoresMap());

            //teste
            modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
            //
            base.OnModelCreating(modelBuilder);
        }
    }

UtilizadoresMap类

public class UtilizadoresMap : EntityTypeConfiguration<Utilizadores>
    {
        public UtilizadoresMap()
        {
         .......
         ToTable("us");
        }
     }

帮助将不胜感激 提前谢谢

1 个答案:

答案 0 :(得分:0)

最后我发现了它。问题是我使用providerconnectionstring到数据库而不是只加载字符串,让实体框架创建它。