我正在使用SQL Server R2作为我的数据库。现在我经常遇到这种错误:
类型' 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 :(得分:0)
实体框架模型缓存仅在AppDomain级别完成,因此如果您构建项目,重新启动IIS或回收应用程序池,缓存将会消失。 引用您分享的链接:
然后缓存该上下文的模型,该模型适用于app域中上下文的所有其他实例。
我认为问题是,架构和映射文件之间存在不匹配。你能仔细检查一下数据库,连接字符串和模式/映射文件吗?
运行SQL Profile可以获得一些额外的信息,因为它可以显示错误发生时正在执行的确切查询。但是您需要配置分析器以显示错误。