sql-server - Azure SQL : Will Applying Index Advisor Changes Impact EF Migrations?

标签 sql-server asp.net-mvc entity-framework azure azure-sql-database

我正在为我的 MVC 网站和 Azure SQL 后端使用 EF 6 Code First。 Azure 门户 SQL 页面有许多可以通过单击应用的索引建议。但是,我不确定这对我的 EF 数据模型有何影响。我知道,如果我直接在数据库中添加或删除表、字段等,那么 EF 会提示我的模型和数据库不同步,结果会变得很糟糕。那么索引呢?如果我让 Azure 自动添加推荐索引,EF 会知道吗?会引起问题吗?

最佳答案

根据我的经验,是的,索引建议可能会导致 Entity Framework 迁移出现问题。它们不会影响 Entity Framework 本身,即使它对索引一无所知,它也会愉快地连接到数据库,但在应用新迁移时您可能会遇到问题。

作为示例,您使用 Azure 门户将新的推荐索引应用到您的一个表。在稍后的阶段,您重构此表并创建一个删除列的迁移。当您尝试应用此迁移时,它可能会失败,因为索引(EF 不知道)依赖于列。

这种情况可能不太可能发生,但在您忘记应用建议后,它可能会让您陷入困境。如果你让 Azure 自动为你应用这些建议,那就更成问题了。最糟糕的是,在尝试部署到生产环境之前,您可能不会遇到这些问题 - 您可能不会在临时/测试环境中看到它们,因为使用模式会有所不同,因此索引建议本身可能会有所不同。

关于sql-server - Azure SQL : Will Applying Index Advisor Changes Impact EF Migrations?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36230121/

相关文章:

asp.net-mvc - 强类型 MVC View 中的 linq groupby

asp.net-mvc - 如何使用 Controller 和操作在 asp.net mvc 2 中呈现部分 View ?

JQuery 用户界面主题 : No Widgets Display Correctly

linq - 代码第一次接近错误: The specified type member 'xxxxx' is not supported in LINQ to Entities

sql-server - DB2 中的 SQL Server 事务相当于什么?

sql-server - 如何绕过 SQL Server 2008 上的触发器

sql - 如果列为空,则 INNER JOIN

azure - 无法从 Azure 函数连接到 Azure SQL

wpf - 将实体绑定(bind)到 WPF 表单 MVVM

sql-server - MS Access 2007 查询不在 SQL Server 2008 上运行