【问题标题】:Entity Framework CodeFirst table pluralizationEntity Framework Code First 表复数
【发布时间】:2011-10-10 12:32:21
【问题描述】:

我将 EF 的 CodeFirst 与定义明确的数据库一起使用。 我的数据库有一个名为“Centros”(葡萄牙语)的表,我设法发现 EF 试图将我的实体复数化以获取“Centroes”女巫在这种情况下是错误的。

如果我删除复数形式 modelBuilder.Conventions.Remove<PluralizingTableNameConvention>(); 我设法让它工作但我必须将我的表重命名为“Centro”(以匹配我的实体名称)。

在葡萄牙语中,'Centro' 是单数,'Centros' 是复数。

我不想重命名我的表名,那么如何在删除复数约定后为我的实体指定匹配的表名?

【问题讨论】:

    标签: entity-framework-4.1


    【解决方案1】:

    我注释了我的所有类,不管框架是否可以通过一些智能反射例程为我做这件事。例如。

    [Table("Order")]
    public class Order
    {
    
    }
    

    我们可以触摸打字,它更干净,在一些意外事件中不太可能摔倒。

    【讨论】:

    【解决方案2】:

    或者你可以在 Fluent API 中一次做一个:

    modelBuilder.Entity().ToTable("ContactInfo");

    【讨论】:

      【解决方案3】:

      ModelBuilder 现在是 System.Data.Entity.DbModelBuilder。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-29
        • 1970-01-01
        • 1970-01-01
        • 2023-04-02
        • 1970-01-01
        • 2013-05-20
        相关资源
        最近更新 更多