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
	{
        }


赞(0) 踩(0)
发表我的评论

最新评论

  1. 暂无评论