【发布时间】:2013-01-15 21:58:13
【问题描述】:
我正在使用实体框架(用于学习)来创建数据表;但是,当我运行应用程序时,它会将数据库列名称创建为:AnaKategori_ANA_CATEGORY_ID。
为什么要这样做,因为我专门告诉它将该列命名为“ANA_CATEGORY_ID”?
下面是类文件内容。
[Table("CATEGORY")]
public class Kategori
{
[Key]
public Guid CATEGORY_ID { get; set; }
[MaxLength(100)]
public string CATEGORY { get; set; }
[MaxLength(100)]
public string CATEGORY_TR { get; set; }
[Column("ANA_CATEGORY_ID")]
public virtual AnaKategori AnaKategori { get; set; }
}
我在发布之前尝试了 boindiil 的答案(这是使用 ForeignKey 属性,我得到了这个错误:
'BusinessListingMVC.Models.Kategori' 类型的属性 'AnaKategori' 上的 ForeignKeyAttribute 是 无效。在依赖类型上找不到外键名称“ANA_CATEGORY_ID” BusinessListingMVC.Models.Kategori'。 Name 值应该是逗号分隔的外键属性名称列表。 说明:执行当前 Web 请求期间发生未处理的异常。 请查看堆栈跟踪以获取有关错误及其来源的更多信息 代码。【问题讨论】:
-
当您使用 ForeignKey 属性时,您的类中需要有两个字段,一个 int (
ParentCategoryId) 和一个虚拟字段。
标签: c# frameworks entity code-first poco