Сначала код Entity Framework -Именование столбцов виртуальных свойств

Я использую EF Code First (4.3.1 )в личном проекте ASP.NET MVC 3 с очень простой моделью предметной области, и я почти достиг точки, когда EF будет генерировать схему БД таким образом, Я хочу этого.

Модель предметной области имеет два класса:Paintingи Gallery. Каждое Paintingпринадлежит одному Gallery, а Galleryимеет два виртуальных свойства, указывающих наPainting:Один указывает, какая из картин является изображением обложки, а другой для какой из картин является изображением слайдера, отображаемым на домашней странице.

Классы следующие. Я удалил некоторые аннотации и ненужные свойства, чтобы сделать его читабельным.

public class Gallery
{
    public Gallery()
    {
        Paintings = new List<Painting>();
    }

    [ScaffoldColumn(false)]
    [Key]
    public int GalleryId { get; set; }

    public string Name { get; set; }

    [ScaffoldColumn(false)]
    [Column("LaCover")]
    public Painting Cover { get; set; }

    [ScaffoldColumn(false)]
    [Column("ElSlider")]
    public Painting Slider { get; set; }

    [ScaffoldColumn(false)]
    public virtual List<Painting> Paintings { get; set; }
}

и живопись:

public class Painting
{
    [ScaffoldColumn(false)]
    [Key]
    public int PaintingId { get; set; }

    public string Name { get; set; }

    public int GalleryId { get; set; }

    [Column("GalleryId")]
    [ForeignKey("GalleryId")]
    [InverseProperty("Paintings")]
    public virtual Gallery Gallery { get; set; }

    public string Filename { get; set; }
}

Он генерирует правильную схему базы данных как для классов, так и для их отношений, единственная небольшая проблема, с которой я столкнулся, заключается в том, что я не нашел способа управлять именами столбцов, которые он дает виртуальным свойствам Coverи Sliderв Galleryтабл.

Он назовет их Cover_PaintingIdи Slider_PaintingId.

Я пытался использовать атрибут [Column("columnNameHere")], но это никак на него не влияет. Как в «Я набрал определенное несвязанное слово, и оно не появилось в схеме».

Я хотел бы назвать его CoverPaintingIdбез подчеркивания.

Любая помощь приветствуется. Спасибо

6
задан Adi Lester 7 August 2012 в 18:21
поделиться