Entity Framework表名设置不生成复数(ef 表名不生成复数)
今天进行新建表查询报错:An error occurred while executing the command definition. See the inner exception for details.具体原因是:对象名 'dbo.TasksDailies' 无效。
意思很明显了,就是这个表TasksDailies不存在.因为我建的库的表(TasksDaily)是没有写复数形式的.
那么EF如何设置不生成复数形式呢?
1.可以在 OnModelCreating(DbModelBuilder modelBuilder) 方法全局设置,具体代码
protected override void OnModelCreating(DbModelBuilder modelBuilder) { //去除默认的表名复数形式 modelBuilder.Conventions.Remove<System.Data.Entity.ModelConfiguration.Conventions.PluralizingTableNameConvention>(); }
2.如果你只是希望某个表不需要复数形式,没关系,可以单独设置,下面是去掉TasksDaily表复数
protected override void OnModelCreating(DbModelBuilder modelBuilder) { //去除某表名复数形式 modelBuilder.Entity<Model.TasksDaily>().ToTable("TasksDaily")); }
或者在Model里面设置,如下
[Table("TasksDaily")] public partial class TasksDaily { }
以上就是【Entity Framework表名设置不生成复数】的全部内容了,欢迎留言评论进行交流!