我想为POCO实体定义主键,但我不想用主键属性修饰实体我想从扩展DbContext的上下文类中定义它
我知道我应该使用类似的东西:
Entity<Order>().HasKey(x => x.OrderId);
但我不知道如何在我的上下文类中这样做。
任何帮助?
答案 0 :(得分:2)
在您DbContext
- 课程中,您可以像这样覆盖OnModelCreating
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Order>.HasKey(x => x.OrderId);
base.OnModelCreating(modelBuilder);
}
答案 1 :(得分:-1)
您应该创建一个定义上下文的类,然后必须重写OnModelCreating方法。 试试这个:
public class MyContext: DbContext
{
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Order>().HasKey(x => x.OrderId);
base.OnModelCreating(modelBuilder);
}
}