实体注释属性不起作用

时间:2013-03-15 16:27:49

标签: c# entity-framework ef-code-first storing-data

这是我的实体:

[Table( Name = "PdfMeta" )]
public class Meta
{
    [Key()]
    public int Id { get; set; }

    [Column(Name = "TotalPages")]
    public int TotalPages { get; set; }

    [Column(Name = "PdfPath")]
    public string PdfUri { get; set; }

    [Column(Name = "ImagePath")]
    public string ImageUri { get; set; }

    [Column(Name = "SplittedPdfPath")]
    public string SplittedFolderUri { get; set; }

}

以下是来自上下文的代码:

      public DbSet<Meta> PdfMeta { get; set; }

为什么使用ImageUri,PdfUri ...列创建新表(Metas)?我知道这是按惯例完成的,但我已经明确指定了表格和列。

1 个答案:

答案 0 :(得分:4)

Name的{​​{1}}属性仅定义了getter。改为在构造函数中传递列名:

ColumnAttribute

在EntityFramework.dll中定义的BTW [Table("PdfMeta")] public class Meta { [Key] public int Id { get; set; } [Column("TotalPages")] public int TotalPages { get; set; } [Column("PdfPath")] public string PdfUri { get; set; } [Column("ImagePath")] public string ImageUri { get; set; } [Column("SplittedPdfPath")] public string SplittedFolderUri { get; set; } } 。您似乎已从System.Data.Linq.dll

引用了ColumnAttribute