entity-framework - EF6 代码首先复数表无效的对象名称

标签 entity-framework ef-code-first entity-framework-6

无论我做什么,EF6 都会使我的 Code First 表名称复数化。我得到的错误是找不到复数表 {"Invalid object name 'dbo.TestStats'."}。该表在数据库中是单数的,如 dbo.TestStat

我尝试通过

删除约定
protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();

我也把它映射到单数表名

    public TestStatMap()
    {
        // Primary Key
        this.HasKey(t => t.TestStatId);

        this.ToTable("TestStat");

我什至尝试将其添加到 OnModelCreating 覆盖

modelBuilder.Entity<TestStat>().ToTable("TestStat");

这是我试图将其映射到的表,它是由 EF 电动工具生成的。我还能尝试什么或我错过了什么?

CREATE TABLE [dbo].[TestStat] (
[TestStatId] [int] NOT NULL IDENTITY,
[SeasonID] [int],
[TeamID] [int],
CONSTRAINT [PK_dbo.TestStat] PRIMARY KEY ([TestStatId])

)

最佳答案

找出我自己的错误。我有两个 Context 类,一个从存储库的另一个继承,并且我在基本上下文中有下面的代码,当我将它移动到派生类时,它现在可以工作了。 modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();

关于entity-framework - EF6 代码首先复数表无效的对象名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20457187/

相关文章:

c# - Entity Framework - 每个类型问题的表

linq - 使用 LINQ 按自定义/预定义顺序从 EF 数据模型加载记录

.net - EF : using backing field for setting property value

c# 将新对象添加到对象上下文返回 "error occurred while updating the entries",主键的重复条目

c# - EFCodeFirst : The relationship between the two objects cannot be defined because they are attached to different ObjectContext objects

c# - 多次调用 MakeGenericType(...) 是否每次都创建一个新类型?

entity-framework-6 - DbContext的通用合并: how to check if entity is all ready attached?

c# - 可空属性引发验证错误,而它不应该

c# - 在什么情况下我需要 Entity Framework 中的外键和导航属性

asp.net-mvc-5 - 未将对象引用设置为对象的实例 - 多个项目 (MVC)