我很熟悉如何将流畅的API配置组织到EF6上的单独类中,但是如何通过EF7实现这一点?
以下是如何使用EF6执行此操作的示例:
ModelConfigurations.cs
public class ModelConfigurations : EntityTypeConfiguration<Blog>
{
ToTable("tbl_Blog");
HasKey(c => c.Id);
// etc..
}
并从OnModelCreating()
调用它 protected override void OnModelCreating(DbModelbuilder modelBuilder)
{
modelBuilder.Configurations.Add(new ModelConfigurations());
// etc...
}
在EF7上,我无法解析EntityTypeConfiguration?从单独的类实现流畅的API调用的正确方法是什么?
答案 0 :(得分:5)
试试这个:
public class BlogConfig
{
public BlogConfig(EntityTypeBuilder<Blog> entityBuilder)
{
entityBuilder.HasKey(x => x.Id);
// etc..
}
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
new BlogConfig(modelBuilder.Entity<Blog>());
}
答案 1 :(得分:1)
我通常为我的所有实体类做的是提供一个静态方法,在我的上下文实现中从我的android update project -p .
方法调用:
OnModelCreating
更进一步,您甚至可以使用属性自动执行流程并动态生成上下文类。这样你只需要处理POCO,就不要触及上下文。