【问题标题】:Implementing OnModelCreating in mvc5在 mvc5 中实现 OnModelCreating
【发布时间】:2014-11-25 07:48:31
【问题描述】:

我正在为我的数据库使用 SQL Server R2。现在我经常遇到这种错误:

EntityFramework.SqlServer.dll 中出现“System.Data.Entity.Core.EntityCommandExecutionException”类型的异常,但未在用户代码中处理
附加信息:执行命令定义时出错。有关详细信息,请参阅内部异常。
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 新手,不知道如何刷新实体框架。有什么解决办法吗?

【问题讨论】:

    标签: c# asp.net-mvc entity-framework asp.net-mvc-5


    【解决方案1】:

    实体框架模型缓存仅在 AppDomain 级别完成,因此如果您构建项目、重新启动 IIS 或回收应用程序池,缓存将消失。 引用您分享的链接:

    然后缓存该上下文的模型,并用于应用程序域中上下文的所有进一步实例。

    我认为问题是,架构和映射文件之间存在不匹配。你能仔细检查数据库、连接字符串和模式/映射文件吗?

    运行 SQL Profile 可以获得一些额外的信息,因为它可以显示错误发生时正在执行的确切查询。但是您需要配置分析器以显示错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-31
      • 2016-02-22
      • 1970-01-01
      • 2016-01-15
      • 2020-11-18
      相关资源
      最近更新 更多