Usm*_*bal 3 entity-framework ef-fluent-api
我正在使用EF6代码优先的方法来创建数据库。当我添加迁移和更新数据库时,它总是Non-cluster Index默认为表中的每个外键创建。
我的问题: EF6 是否有任何全局设置不能Non-Cluster index在外键上创建?
我已经搜索并找到了以下解决方案
解决方案 1 不适合我,因为我有很多表,而且我的表db已经创建好了。手动删除索引创建行需要很多时间。
此外,我也在使用fluent api是否有与此问题相关的任何选项?
好吧,我认为这可能是一种“如果你只有一把锤子......”的情况。
我之前给出的答案有效(我支持它,因为它非常有趣而且很棒),但这可能不是最好的方法。
最近我检查了 EF 使用生成数据库的所有默认约定,并且有一个负责在 FK-s 上生成非聚集索引。只需完全删除该约定,问题就解决了:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
// using System.Data.Entity.ModelConfiguration.Conventions;
modelBuilder.Conventions.Remove<ForeignKeyIndexConvention>();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2511 次 |
| 最近记录: |