ASP.NET MVC4 音乐商店,Entity Framework 4.1 表名被自动转换成复数问题解决

 
做ASP.NET MVC3 Music Store示例时,

 

EntityFramework4.1 下表名被自动转换成复数问题:

解决方案:

 

 

using System; using System.Collections.Generic; 
using System.Data.Entity; 
using ContosoUniversity.Models; 
using System.Data.Entity.ModelConfiguration.Conventions; 
namespace ContosoUniversity.Models

public class SchoolContext : DbContext
 {
 public DbSet<Student> Students { getset; }
 public DbSet<Enrollment> Enrollments { getset; } 
public DbSet<Course> Courses { getset; } 
protected override void OnModelCreating(DbModelBuilder modelBuilder)
 {          

    modelBuilder.Conventions.Remove<PluralizingTableNameConvention>(); 

}

 }

 }

 

代码中为每个实体集创建了一个DbSet属性。在Entity Framework技术中,一个实体集与数据库中的表保持一致并且一个实体与表中的行保持一致。

OnModelCreating方法中的语句阻止了表名被限制成复数。如果您不这么做,生成的表名将会被命名为Students,Courses, 和Enrollments来取代想要生成的表名Student,Course,和Enrollment,之所以这样,是因为开发者就表名是否使用复数没有达成一致。这个教程使用了单数形式,但重点是您可以自己选择使用哪种形式来命名。


上一篇:云服务器/VPS性能和带宽测试脚本,Linux跑分


下一篇:树莓派读取DHT11温湿度数据 Python