在以前的版本中一切正常,但现在在 4.3 中出现此错误:
EntityFramework.DLL 中出现“System.Data.SqlClient.SqlException”类型的异常,但未在用户代码中处理
附加信息:操作失败,因为表 'Users' 上已存在名称为 '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 中有所不同