EF4代码首先让表名称单数

我正在使用单数表名称的标准。 EF4 Code First默认情况下会复制表格名称。 我已经把代码覆盖这个约定,但似乎不工作。

使用部分:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.Data.Entity;
using System.Data.Entity.Database;
using System.Data.Entity.ModelConfiguration;
using System.Data.Entity.ModelConfiguration.Conventions.Edm;

数据上下文:

public class SiteDataContext : DbContext
    {
        public DbSet<Blog> Blogs { get; set; }
        public DbSet<BlogFeedback> BlogFeedbacks { get; set; }
        public DbSet<BlogCategory> BlogCategories { get; set; }

        // Twist our database
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.Conventions.Remove<PluralizingEntitySetNameConvention>();
            base.OnModelCreating(modelBuilder);
        }
    }

创建表格:

  • 博客
  • BlogFeedbacks
  • BlogCategories
  • 当因为约定覆盖(和我需要)应该是:

  • 博客
  • BlogFeedback
  • BlogCategory
  • 任何人都有一个想法,为什么覆盖线不工作? 非常感谢。


    你使用错误的惯例。 你需要做下面的事情。

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {    
        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
    }
    

    我目前的项目我们遇到了同样的问题。 我在另一个问题中写了这个,但这里是:

    实体框架v4并在列名中加下划线

    这比预期的要复杂一点。

    HTH

    链接地址: http://www.djcxy.com/p/90201.html

    上一篇: EF4 Code First make tables names singular

    下一篇: first: TPH approach?