entity-framework - Entity Framework 4.3代码中的错误优先-索引已存在

标签 entity-framework entity-framework-4 entity-framework-4.3

在以前的版本中一切正常,但是现在在4.3中出现此错误:

类型“System.Data.SqlClient.SqlException”的异常发生在
EntityFramework.DLL,但未在用户代码中处理

附加信息:操作失败,因为索引或
表“用户”上已经存在名称为“IX_Id”的统计信息。


User表具有Id属性,并且是主键,但是我没有在其他地方使用代码或属性来创建附加索引?

用户模型:

public class User
{
    public int Id { get; set; }

    public virtual Settings Settings { get; set; } /* 1-1 */

    public virtual Profile Profile { get; set; } /* 1-1 */
    public virtual Account Account { get; set; } /* 1-1 */


}

在我的OnModelCreating(DbModelBuilder modelBuilder)中失败了
          modelBuilder.Entity<User>().HasRequired(u => u.Settings).WithRequiredDependent();
        modelBuilder.Entity<User>().HasRequired(u => u.Profile).WithRequiredDependent();
        modelBuilder.Entity<User>().HasRequired(u => u.Account).WithRequiredDependent();

更新:只需使用WithRequiredPrincipal而不是WithRequiredDependent对其进行修复。不确定为什么在4.3中有所不同

最佳答案

这是EF 4.3中的错误。它将在EF5 RTM中修复。有关更多信息(包括解决方法),请参见以下问题:Unhandled Exception after Upgrading to Entity Framework 4.3.1

关于entity-framework - Entity Framework 4.3代码中的错误优先-索引已存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9405330/

相关文章:

c# - EF 4.3 代码优先 : Table per Type (TPT) with Composite Primary Key and Foreign Key

.net - EF 4.1 Code First - OnModelCreating 调用时间

c# - Entity Framework 修改集合属性并关闭检测更改

sql-server - 为什么主键顺序很重要?

c# - Entity Framework 4.1 - 如何将 "Force"EF 转至 DB 而不是使用 Graph?

asp.net - 不支持的关键字: 'metadata'。?在带有MVC3的 Entity Framework 中使用Sql连接

c# - 避免 Linq Select 方法中的重复代码

.net - 将 WinForm 控件绑定(bind)到相关实体

c# - ObjectContext.ExecuteStoreCommand,如何在调用之间清除参数?

entity-framework - 带有 CreateIndex 和匿名参数的 EF 4.3 代码迁移