【问题标题】:Entity is Overriding My Table Name Attribute with a Plural实体正在用复数覆盖我的表名称属性
【发布时间】:2013-12-18 21:18:22
【问题描述】:

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

[Table("MyTable")]
public class MyTable

但是,当我尝试通过写信给它时

 repository.Insert(MyTableEntity);
 repository.Commit();

抛出异常

Invalid object name 'dbo.MyTables'

注意“s”。我知道您可以通过覆盖 OnModelCreating 来禁用 codefirst 中的复数形式,但是如果我手动指定表名,难道不应该这样做吗?

【问题讨论】:

  • 您是否在数据库中检查了表是如何命名的?
  • 数据库中的名字是MyTable
  • 你解决过这个问题吗?
  • 没有超出上面提到的 OnModelCreating 覆盖。它很丑,我不喜欢它,但我无法绕过它。似乎是一个错误。

标签: c# entity-framework entity-framework-5 data-annotations


【解决方案1】:

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

【讨论】:

  • 不应该使用它,但这是我的问题 - 它是。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-30
  • 2022-01-19
  • 2011-08-28
相关资源
最近更新 更多