簡體   English   中英

實體框架4.1無效的對象名稱“ us”

[英]Entity Framework 4.1 Invalid object name 'us'

我使用過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");
        }
     }

幫助將不勝感激在此先感謝

終於我明白了。 問題是我使用providerconnectionstring到數據庫,而不是僅加載字符串並讓實體框架創建它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM