C# 实体正在用复数覆盖“我的表名”属性

C# 实体正在用复数覆盖“我的表名”属性,c#,entity-framework,entity-framework-5,data-annotations,C#,Entity Framework,Entity Framework 5,Data Annotations,我用一个指定表名的属性装饰了一个表,例如 [Table("MyTable")] public class MyTable 然而,当我试图通过 repository.Insert(MyTableEntity); repository.Commit(); 它抛出一个异常 Invalid object name 'dbo.MyTables' 注意“s”。我知道您可以通过重写OnModelCreating来禁用codefirst中的复数,但是如果我手动指定表名,它不应该尊重吗?如果您通过注释(

我用一个指定表名的属性装饰了一个表,例如

[Table("MyTable")]
public class MyTable
然而,当我试图通过

 repository.Insert(MyTableEntity);
 repository.Commit();
它抛出一个异常

Invalid object name 'dbo.MyTables'

注意“s”。我知道您可以通过重写OnModelCreating来禁用codefirst中的复数,但是如果我手动指定表名,它不应该尊重吗?

如果您通过注释([Talbe()])或Fluent API(ToTable())重载约定,EF将不使用复数化服务。

您是否在数据库中签入了表的名称?数据库中的名称是MyTable?您是否解决过此问题?除了提到的OnModelCreating覆盖之外,没有。它很难看,我不喜欢它,但我一直无法摆脱它。似乎是一个bug。它不应该使用它,但这是我的问题-它是。