实体框架7将Fluent API配置组织到一个单独的类中 [英] Entity-framework-7 Organizing Fluent API configurations into a separate class
本文介绍了实体框架7将Fluent API配置组织到一个单独的类中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是一个例子,如何使用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?
解决方案
尝试这样:
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>());
}
I'm familiar how to organize the fluent API configurations into a separate class on EF6, but how is this achieved with EF7?
Here is an example how to do it with EF6:
ModelConfigurations.cs
public class ModelConfigurations : EntityTypeConfiguration<Blog>
{
ToTable("tbl_Blog");
HasKey(c => c.Id);
// etc..
}
and to call it from OnModelCreating()
protected override void OnModelCreating(DbModelbuilder modelBuilder)
{
modelBuilder.Configurations.Add(new ModelConfigurations());
// etc...
}
On EF7 I cant resolve the EntityTypeConfiguration? What is the correct way to implement fluent API calls from a separate class?
解决方案
Try this:
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>());
}
这篇关于实体框架7将Fluent API配置组织到一个单独的类中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文