2014-11-24 47 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可以获得一些额外的信息,因为它可以显示发生错误时正在执行的确切查询。但是你需要配置分析器来显示错误。