gpt4 book ai didi

entity-framework - Entity Framework 、SQL Server CE 4.0 和 Code First 的启动性能问题

转载 作者:行者123 更新时间:2023-12-04 05:14:51 26 4
gpt4 key购买 nike

我在我的应用程序中使用 Entity Framework (EF) 5.0、代码优先方法和 SQL Server CE 4.0 数据库。但是,我在应用程序启动时面临一个主要的性能问题。

我在网上搜索了一下,发现this文章解释了哪些操作会影响启动性能,其中之一是 View 生成。因此,我研究了如何在编译时生成 View 并在运行时将它们链接到 EF,而不是在运行时创建 View 。我遇到了 Entity Framework Power Tools,它提供了一个命令来通过你的 DbContext 类生成 View 。

我在编译时使用 Entity Framework Power Tools 生成了 View ,如 this 中所述。文章。但是,当我使用 SQL Server CE 运行我的应用程序时,它总是会生成以下异常:

The mapping and metadata information for EntityContainer 'DatabaseContext' no longer matches the information used to create the pre-generated views.



而相同的应用程序可以在 SQL Server 数据库中正常工作。因此,我进行了更多搜索,但没有找到解决此问题的方法。以下是人们报告类似性能问题的链接:
  • MSDN Blogs
  • Entity Framework forum on MSDN

  • 我的问题是:“这个应用程序启动性能问题是否有解决方法或解决方案?”。我需要使用 SQL Server CE 而不是 SQL Server。

    最佳答案

    实际上 EF Power 工具使用默认提供程序 生成 View SqlClient 但是,我需要为 生成 View SqlServerCe.4.0 提供者,我无法弄清楚为什么每次生成的 View 都会过时,最后我弄清楚了为什么它不起作用。

    所以,我只是从我的上下文类中注释了 DbContext 构造函数,然后我运行了 EF Power Tools 的“生成 View ”和“查看实体数据模型 XML”命令,然后 EF Power Tools 从 获取连接字符串应用程序配置否则,它将使用默认连接字符串,该字符串以 SqlClient 作为提供程序连接到 Sql Server。

    因此,我相信如果有人使用任何其他提供程序,例如 Devart 的 Oracle 提供程序等,那么他/她需要通过在 App.config(用于桌面应用程序)或 web.config(用于Web 应用程序)并注释掉 DbContext 构造函数(或使用每个处理器将其从 EF Power Tools 中隐藏)。

    关于entity-framework - Entity Framework 、SQL Server CE 4.0 和 Code First 的启动性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14413741/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com