6

这是我的实体:

[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)?我知道这是按惯例完成的,但我已经明确指定了表和列。

4

1 回答 1

4

Name的属性ColumnAttribute只定义了 getter。在构造函数中传递列名:

[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; }
}

BTWColumnAttribute在 EntityFramework.dll 中定义。看起来您ColumnAttribute已从 System.Data.Linq.dll引用

于 2013-03-15T16:33:01.163 回答