2014-11-24 50 views
1

我使用SQL Server R2爲我的數據庫。現在,我經常收到這類錯誤:實施OnModelCreating在mvc5

類型的異常「System.Data.Entity.Core.EntityCommandExecutionException」發生在EntityFramework.SqlServer.dll但在用戶代碼
其他信息沒有處理:執行命令定義時發生錯誤。詳情請參閱內部例外。
的InnerException:{「無效的列名稱someColumn'」}

這裏模型中的每一件事情是好的,並在數據庫中也。我知道這是由於緩存在dbcontext。每次運行項目時,我都想清除並重新綁定dbcontext。我搜索瞭解決方案,並得到了this解決方案,但是在聲明這樣之後,我無法執行所需的操作。

public class EFDbContext: DbContext 
{ 
    public DbSet <utblCategoryMaster> utblCategoryMasters { get; set; } 

    public DbSet <utblsubCategoryMaster> utblSubCategoryMasters { get; set; } 

    protected override void OnModelCreating(DbModelBuilder modelBuilder) 
    { 
     base.OnModelCreating(modelBuilder); 
    } 
} 

我是新來的MVC,我不知道如何刷新實體框架。有沒有解決方法?

回答

0

實體框架模型緩存僅在AppDomain級別完成,因此如果您生成項目,重新啓動IIS或回收應用程序池,則緩存將消失。 從您分享的鏈接引用:然後

用於這方面的模型緩存,是在應用程序域範圍內的所有進一步的實例。

我認爲問題是,模式和映射文件之間存在不匹配。你可以仔細檢查數據庫,連接字符串和模式/映射文件嗎?

運行SQL Profile可以獲得一些額外的信息,因爲它可以顯示發生錯誤時正在執行的確切查詢。但是你需要配置分析器來顯示錯誤。