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はゲッターのみが定義されています。代わりにコンストラクターで列名を渡します。

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

ところでColumnAttribute、EntityFramework.dll で定義されています。ColumnAttributeSystem.Data.Linq.dll から参照しているようです

于 2013-03-15T16:33:01.163 に答える