[英]Defining Primary Key for entity CodeFirst Ef4
I want to define a primary key for a POCO entity but i dont want to decorate the entity with primary key attribute i wanna define that from the context class which extend DbContext 我想为POCO实体定义一个主键,但我不想用主键属性来装饰该实体,我想从扩展DbContext的上下文类中定义它
i know i should use something like: 我知道我应该使用类似:
Entity<Order>().HasKey(x => x.OrderId);
but i dont know how to do that in my context class. 但我不知道如何在我的上下文课堂中做到这一点。
any help? 有什么帮助吗?
In you DbContext
-class you can override OnModelCreating
like this 在您的DbContext
-class中,您可以像这样重写OnModelCreating
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Order>.HasKey(x => x.OrderId);
base.OnModelCreating(modelBuilder);
}
You should create a class that defines your context, and then you have to override the OnModelCreating method. 您应该创建一个定义上下文的类,然后必须重写OnModelCreating方法。 Try this: 尝试这个:
public class MyContext: DbContext
{
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Order>().HasKey(x => x.OrderId);
base.OnModelCreating(modelBuilder);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.