Entity Framework Code First - Virtual-Eigenschaft Der Spalte Benennung

Ich bin mit EF Code First (4.3.1) auf eine persönliche ASP.NET MVC 3-Projekt, mit eine sehr einfache domain-Modell, und ich bin fast an dem Punkt, wo EF-erzeugen des DB-Schemas die Art, wie ich es wollte.

Dem domain-Modell verfügt über zwei Klassen: Painting und Gallery. Jeder Painting gehört zu einer einzigen Gallery, und die Gallery hat zwei virtuelle Eigenschaften zeigen auf Painting: Ein, um anzugeben, welche der Malerei ist es das cover-Bild, und eine für die Bilder ist der Schieberegler auf der Startseite angezeigt.

Die Klassen sind wie folgt. Habe ich entfernt, einige Anmerkungen und irrelevanten Eigenschaften machen es lesbar.

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

und Malerei:

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

Erzeugt es eine richtige db-schema für die beiden Klassen und Ihre Beziehungen, das einzige kleine Problem, das ich habe ist, dass ich noch keinen Weg gefunden, die Kontrolle der Spaltennamen gibt es auf der virtuellen Eigenschaften des Cover und Slider im Gallery Tabelle.

Es nennen Sie Cover_PaintingId und Slider_PaintingId.

Ich habe versucht mit der [Column("columnNameHere")] Attribut, aber das macht nicht beeinflussen Sie überhaupt. Wie in "ich tippte eine bestimmte, nicht Verwandte Wort, und es nicht zeigen, bis in das schema".

Möchte ich es nennen CoverPaintingId, ohne Unterstrich.

Jede Hilfe wird sehr geschätzt. Dank

InformationsquelleAutor GR7 | 2012-08-07
Schreibe einen Kommentar