Nim*_*hew 14 c# asp.net entity-framework entity-framework-core asp.net-core
我有一个user具有以下内容的实体:
public class User
{
[Key, Required]
public int Id { get; set; }
public int GenderId { get; set; }
public virtual Gender Gender { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在gender:
public class Gender
{
[Key, Required]
public int Id { get; set; }
public virtual ICollection<User> Users { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
然后,在 my 中DbContext,我有:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<User>(user =>
{
user
.HasOne(x => x.Gender)
.WithMany(x => x.Users)
.HasForeignKey(x => x.GenderId);
}
user.HasIndex(x => x.Gender);
}
Run Code Online (Sandbox Code Playgroud)
当我运行时dotnet ef add migration User,我收到错误:
“性别”不能用作实体类型“用户”的属性,因为它被配置为导航。
Nim*_*hew 24
我试图在导航属性上创建索引。相反,在外键上创建索引。
更改user.HasIndex(x => x.Gender)为user.HasIndex(x => x.GenderId)。
| 归档时间: |
|
| 查看次数: |
8932 次 |
| 最近记录: |