经过前段时间的编写,我们的项目目前可能会是这个样子:
仅仅考虑Version3文件夹下的文件即可。同时我们回过头来看BlogContext类,其目前的格式应该是
public class BlogContext : DbContext { public BlogContext() : base("name=Blog") { } public DbSet<User> Users { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity<User>().ToTable("UserInfo"); modelBuilder.Entity<User>().Property(s => s.Password).IsRequired().HasMaxLength(128); modelBuilder.Entity<User>().Property(s => s.LoginName).IsRequired().HasMaxLength(20); modelBuilder.Entity<User>().Property(s => s.PhoneNumber).HasMaxLength(20); modelBuilder.Entity<User>().Property(s => s.Email).HasMaxLength(128); } }
这样看来应该是不可以的,我们的项目肯定不会只有一个用户信息就够了,会有很多其他的表(类)。既然这样,我们把所有的配置代码都放在BlogContext类下面,显然管理起来很不方便。同时项目下的类文件管理也不是那么直观。我们先要对项目进行些许的调整。
首先,我们在XYY.Blog项目下建立三个文件夹,分别是Model,EntityConfig,SeedValueAlways。Model用来放着将要映射到数据库的类,EntityConfig用来放置Fluent API配置类,SeedValueAlways用来放置,用于初始化信息的类。这样后期,我们会很方便的对项目进行维护。
整理完成之后我们项目的结构是这个样子: